linux – Use scp para copiar un archivo a diferentes servidores

Pregunta:

Tengo que copiar un archivo a diferentes servidores casi todos los días. Lo que suelo hacer es:

scp filename user@destinationhost:/destination/folder

Ejecuto este mismo comando cambiando el host de destino una y otra vez hasta que termino todos los servidores. ¿Cuál es la mejor (y más rápida) forma de transferir el mismo archivo a esos diferentes servidores?

Otro inconveniente es que necesito ingresar la contraseña una y otra vez, pero usar rsa no es una opción ya que varias personas pueden conectarse al servidor de origen.

Editar: encontré un bucle en commandlinefu que puede hacer el truco:

 for h in host1 host2 host3 host4 ; { scp file user@$h:/destination_path/ ; }

Respuesta:

Hay varias herramientas que pueden enviar archivos scp a varios hosts (con conexiones simultáneas), como pssh y kanif . En términos de contraseñas, sugeriría usar el reenvío de agentes . Esto le permite mantener la clave en su máquina local, pero usarla cuando inicie conexiones SSH desde otro host. De lo contrario, la opción --askpass del --askpass parallel-scp de pssh hace que se solicite una contraseña para usar en cada host.

Si no puede instalar una herramienta para hacer esto, configure el reenvío del agente (agregando la opción -A a ssh cuando se conecte a la máquina en la que está haciendo esto) y luego ejecute scp en un bucle como este:

for HOST in server1 server2 server3; do
    scp somefile $HOST:~/somedir/
done

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım