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

5 thoughts on “Automatizar la conexión a sFTP

  1. También podrías copiar tu clave al servidor, de tal forma que no sea necesario el logearte cada vez que te conectes.

    Generamos la key:

    ssh-keygen

    Nos generara esto:

    /home/myname/.ssh/id_rsa.pub

    Ahora copiamos:

    ssh-copy-id -i ~/.ssh/id_rsa.pub usuario_remoto@192.168.1.4

    Te pedirá una vez la password del usuario_remoto y no tendrás que volver a meterla. Me parece mas seguro que escribir los datos en un script sobre todo la password ;p

    Un saludo

    PD: corregido, borra el anterior comentario

  2. Hola Estoy usando LFTP para transferencia de archivos, pero este no me deja transferir mas de 2Gb, tu sabrás la razón o si tengo que poner algún tipo de configuración, espero me puedas ayudar. saludos.

Deja un comentario