Necesito transferir un archivo de log todas las noches a un host remoto mediante sftp
desde un servidor que utiliza Linux. Como no tengo control sobre el servidor remoto, no puedo generar las claves RSA que me permitirían acceder a él sin tener que utilizar un usuario y contraseña.
Así que la pregunta es si puedo utilizar el comando sftp
pasándole un usuario y contraseña dentro del propio script Bash y así ejecutarlo directamente mediante una tarea programada en el cron.
Respuestas
Como no puedes generar las claves RSA, que sería la única manera profesional de resolver este problema, tendrás que elegir una de estas tres alternativas:
- Utilizar el keychain
- Utilizar el comando
sshpass
(menos seguro, pero es justo lo que necesitas) - Utilizar el comando
expect
(el método menos seguro de todos y un poco largo)
Si utilizas sshpass
, que seguramente es la solución más cómoda en tu caso, deberías añadir lo siguiente al script de Bash:
export SSHPASS=escribe_aqui_el_password sshpass -e sftp -oBatchMode=no -b - tu_usuario_sftp@tu_host_sftp << ! cd directorio_donde_guardar_el_archivo/ put /ruta/hasta/el/archivo.log bye !
@librosweb