Me gustaría copiar squid.conf
de un servidor a otro.
- Los servidores no hablan entre sí. Me gustaría pasar por mi estación de trabajo.
- Ambos servidores tienen el archivo, por lo que se sobrescribirá en el destino.
- Los archivos tienen
600
permiso y son propiedad de root. - el inicio de sesión raíz a través de ssh está deshabilitado (
PermitRootLogin no
). - Me gustaría hacerlo en una línea, si es posible, ya que será parte de una guía de configuración.
Yo sé hacer
ssh source 'tar czpf - -C /etc/squid/ squid.conf' | \
ssh target 'tar xzpf - -C /etc/squid/'
copiar archivos entre servidores y preservar permisos. Sin embargo, en este caso obtendré "Permiso denegado".
También sé que puedo hacer esto:
ssh -t source 'sudo cat /etc/squid/squid.conf'
De esta manera, -t
permite que sudo solicite la contraseña de administrador antes de mostrar el contenido del archivo.
El problema es que no sé cómo combinar esas técnicas en algo que solicite la contraseña de sudo en cada servidor y transfiera el archivo a su destino. es posible?
ACTUALIZACIÓN : Aquí está lo mejor que se me ocurrió:
ssh -t source 'sudo tar czf /tmp/squid.tgz -C /etc/squid squid.conf' && \
ssh source 'cat /tmp/squid.tgz' | \
ssh target 'cat >/tmp/squid.tgz' && \
ssh -t source 'sudo rm /tmp/squid.tgz' && \
ssh -t target \
'sudo tar xzf /tmp/squid.tgz -C /etc/squid && sudo rm /tmp/squid.tgz'
Llamar a esto una frase parece una exageración. Creo que lo dividiré en pasos separados en la guía de configuración.