¿Cómo ver el progreso con sshpass y scp en linux?

Pregunta:

En mi terminal de Linux, estoy usando este comando

sshpass -p "pass" scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

para descargar un archivo con una contraseña. Sin el sshpass, puedo ver el progreso de la descarga, pero con él, está en blanco hasta que finaliza y no puedo verlo.

¿Hay alguna forma de que pueda verlo con sshpass?

Respuesta:

Creo que lo que preguntas no es fácil de hacer, tal vez incluso imposible con scripts bash básicos.

Por lo tanto, lo siguiente no responde realmente a su pregunta, pero proporciona otro enfoque a su problema.

En lugar de usar sshpass , puede usar el comando scp simple con una autenticación de clave pública sin contraseña. Consulte [1] si no sabe qué es.

Si tiene la intención de usar scp en scripts para uso local , este es, en mi opinión, el camino a seguir:

  • generar una clave pública sin contraseña
  • use ssh-copy-id para agregar su clave pública al servidor

Eso ya es suficiente para poder ejecutar su comando sin ningún aviso:

scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

Para los scripts que desea distribuir , sshpass con contraseña clara no es una buena idea, al menos debería usar el indicador "-e" de sshpass y dejar que el usuario proporcione la contraseña como variable de entorno para mayor seguridad.

En ese caso, el enfoque de clave pública es un poco menos conveniente, pero aún es posible. Si no puede permitirse pedirle al usuario del script que cree una clave pública, puede crear una clave pública sobre la marcha, copiarla en el servidor y ejecutar scp sin que se le scp :

 #!/bin/bash
 KEY="$HOME/.ssh/id_rsa_example"
 if [ ! -e "$KEY" ]; then
     ssh-keygen -t rsa -N "" -f "$KEY"
     sshpass -e ssh-copy-id -i "${KEY}.pub" me8@host.ca
 fi
 scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop

Finalmente, todavía existe la posibilidad de usar rsync para hacer la barra de progreso en su lugar:

$ rsync -P --rsh="sshpass -p $PASSWORD ssh -l me8" host.ca:/cmshome/me/file /home/me/Desktop

[1] https://help.ubuntu.com/community/SSH/OpenSSH/Keys

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım