Automatizar la conexión a sFTP

En este artículo os voy a contar cómo descargar ficheros mediante sFTP (FTP encriptado) de manera automatizada; es decir, sin tener que andar ejecutando el comando ni tener que meter la clave a mano cada vez.

El script es bien sencillito:

#!/bin/bash
 
# Aquí ponemos los datos de conexión
USUARIO=usuario
CLAVE=clave
HOST=miftp.com
PUERTO=22
 
lftp -p${PUERTO} -u ${USUARIO},${CLAVE} sftp://${HOST} << CMD
get copia_seguridad.bz2 copia_seguridad.bz2
bye
CMD

Basta con que sustituyas estos datos por los de tu servidor:

USUARIO=usuario
CLAVE=clave
HOST=miftp.com
PUERTO=22

El puerto se puede dejar el de ssh por defecto, pero en varios servidores me he encontrado que usan uno distinto así que la opción para especificar el puerto es muy útil para mí.

lftp (sophisticated file transfer program) es el que se va a encargar de identificarse en el servidor mediante sftp. Todo lo que escribamos entre <Aquí podéis ver otra forma de hacerlo