Ejecutar un script local en un servidor remoto con SSHPASS

Pongamos que tengo un script en un servidor local que quiero que se ejecute en un servidor remoto en el que no existe este script:

# ll
total 4
-rwxr--r-- 1 hpddpers uxsup3 249 May 4 10:31 luns.sh
#

Para hacerlo, ejecutaré el siguiente comando:

# sshpass -p MiContraseñaSecreta -q root@la01wai0.7376.1286.ecs.hp.com "bash -s" -- < luns.sh 
la01wai0;/dev/sda;107.4;GB
la01wai0;/dev/sdb;53.7;GB
#

Como podemos observar, con sshpass, envío la contraseña con la que acceder en el servidor remoto y con < luns.sh especifico mi script local a ejecutar en el destino.

Acceso SFTP enviando la contraseña con SSHPASS

También podemos utilizar SSHPASS para acceder por SFTP con el usuario y la contraseña enviada por parámetros en la misma línea. Veamos un ejemplo:

[root@servidor1 ~]# sshpass -p test sftp -oBatchMode=no -b - test@localhost << !
> ls
> bye
> !
sftp> ls
sftp> bye
[root@servidor1 ~]# sshpass -p test sftp -oBatchMode=no -b - test@localhost << !
ls -la
bye
!

sftp> ls -la
drwx------    3 test     test         4096 Mar  6 08:05 .
drwxr-xr-x   33 root     root         4096 Mar  6 08:05 ..
-rw-r--r--    1 test     test           18 Feb 15  2017 .bash_logout
-rw-r--r--    1 test     test          176 Feb 15  2017 .bash_profile
-rw-r--r--    1 test     test          124 Feb 15  2017 .bashrc
-rw-r--r--    1 test     test          500 Nov 27  2014 .emacs
-rw-r--r--    1 test     test          124 Feb  5  2018 .mkshrc
drwxr-xr-x    4 test     test         4096 Nov 23  2017 .mozilla
sftp> bye
[root@servidor1 ~]#

El parámetro «-p test» indica la contraseña del usuario «test@localhost».

Y si queremos ejecutar un put por SFTP en una sola línea:

[root@servidor1 pced]# (echo ls; echo "put /interfases/tresoreria/CEPD/CEPD_08082019_050506.txt") | sshpass -p test sftp -oBatchMode=no -b - test@lgecgcx1.8799.1286.ecs.hp.com >> status.log
+---------------------------------------------------------------------+
|                                                                     |
|  Use of this network is restricted to authorized users only. User   |
|  activity may be monitored and/or recorded. Anyone using this       |
|  network expressly consents to such monitoring and/or recording.    |
|                                                                     |
|  BE ADVISED: if possible criminal activity is detected, these       |
|  records, along with certain personal information, may be provided  |
|  to law enforcement officials.                                      |
|                                                                     |
+---------------------------------------------------------------------+

[root@servidor1 pced]# cat status.log
sftp> ls
CEPD_08082019_050506.txt
sftp> put /interfases/tresoreria/CEPD/CEPD_08082019_050506.txt
Uploading /interfases/tresoreria/CEPD/CEPD_08082019_050506.txt to /home/test/CEPD_08082019_050506.txt
[root@servidor1 pced]#

Deja un comentario