Pscp: transferir/copiar fitxers a diversos servidors Linux mitjançant un únic Shell


La utilitat Pscp us permet transferir/copiar fitxers a diversos servidors Linux remots mitjançant un únic terminal amb una sola ordre, aquesta eina forma part de Pssh (Parallel SSH Tools), que proporciona versions paral·leles d'OpenSSH i altres eines similars com ara:

  1. pscp: és una utilitat per copiar fitxers en paral·lel a diversos amfitrions.
  2. prsync: és una utilitat per copiar fitxers de manera eficient a diversos hosts en paral·lel.
  3. pnuke: ajuda a matar processos en diversos hosts remots en paral·lel.
  4. pslurp: ajuda a copiar fitxers de diversos hosts remots a un host central en paral·lel.

Quan es treballa en un entorn de xarxa on hi ha diversos amfitrions a la xarxa, un administrador del sistema pot trobar aquestes eines enumerades anteriorment molt útils.

En aquest article, veurem alguns exemples útils d'utilitat Pscp per transferir/copiar fitxers a diversos amfitrions Linux en una xarxa.

Per utilitzar l'eina pscp, heu d'instal·lar la utilitat PSSH al vostre sistema Linux, per a la instal·lació de PSSH podeu llegir aquest article.

  1. Com instal·lar l'eina Pssh per executar ordres en diversos servidors Linux

Gairebé totes les diferents opcions utilitzades amb aquestes eines són les mateixes, excepte algunes que estan relacionades amb la funcionalitat específica d'una determinada utilitat.

Com utilitzar Pscp per transferir/copiar fitxers a diversos servidors Linux

Quan feu servir pscp, heu de crear un fitxer separat que inclogui el nombre d'adreça IP del servidor Linux i el número de port SSH que necessiteu per connectar-vos al servidor.

Creem un fitxer nou anomenat myscphosts.txt i afegim la llista de l'adreça IP dels hosts Linux i el número de port SSH (22 per defecte) tal com es mostra.

192.168.0.3:22
192.168.0.9:22

Un cop hàgiu afegit amfitrions al fitxer, és hora de copiar fitxers de la màquina local a diversos amfitrions Linux al directori /tmp amb l'ajuda de l'ordre següent.

# pscp -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
OR
# pscp.pssh -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

Explicació sobre les opcions utilitzades a l'ordre anterior.

  1. El commutador -h s'utilitza per llegir un host d'un fitxer i una ubicació determinats.
  2. -l switch llegeix un nom d'usuari predeterminat a tots els amfitrions que no defineixen un usuari específic.
  3. -Un interruptor indica a pscp que demani una contrasenya i que l'enviï a ssh.
  4. El commutador -v s'utilitza per executar pscp en mode detallat.

Si voleu copiar el directori sencer, utilitzeu l'opció -r, que copiarà recursivament directoris sencers tal com es mostra.

# pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
# pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

Podeu veure la pàgina d'entrada manual del pscp o utilitzar l'ordre pscp --help per buscar ajuda.

Conclusió

Val la pena provar aquesta eina com si controlés diversos sistemes Linux i ja tinguéssiu una configuració d'inici de sessió sense contrasenya basada en clau SSH.