Transferencia segura de archivos con SFTP
En el artículo de hoy vamos a hablar de una herramienta esencial para la transferencia de ficheros, de manera segura, a través de la red, esto es, SFTP. Hay que tener en cuenta que el protocolo de transferencia de ficheros (FTP), se ha utilizado durante décadas, para la transferencia de ficheros y datos de forma remota, sin cifrar, que está claro que no es la manera segura de comunicarse.
Hace tiempo que sabemos que el protocolo FTP no es seguro, ya que en todas las transmisiones se producen en texto plano, y los datos pueden ser legibles por terceros, realizando ‘sniffing’ de paquetes de la red.
Transferencia segura de ficheros con SFTP
Básicamente FTP se puede utilizar en algunos casos limitados o en redes de mucha confianza. Para solventarlo, tanto SCP como SSH, nos ayudan a solventar la falta de seguridad.
SFTP, el acrónimo en inglés de “Secure File Transfer Protocol” se ejecuta sobre el protocolo SSH, en el puerto estándar 22, de forma predeterminada, para establecer una conexión segura. SFTP se ha integrado en muchas herramientas de escritorio, como por ejemplo Filezilla, WinSCP o incluso WordPress.
El programa viene por defecto en todas las distribuciones GNU Linux
Si es la primera vez que lo usamos podemos consultar su ayuda, escribiendo ‘?’
Una vez accedemos podemos ver, utilizando la orden ‘lpwd‘ y ‘pwd‘ , donde estamos ubicados en nuestro servidor y en el servidor remoto, respectivamente.
sftp> lpwd
Local working directory: /home/david
sftp> pwd
Remote working directory: /root
sftp>
Una vez hecho esto, si queremos subir un fichero, al servidor remoto, lo haremos mediante la orden ‘put‘
put fichero1.txt
Una vez hecho esto, si queremos listar los ficheros en el servidor remoto, utilizaremos ‘ls‘ y para nuestro servidor ‘lls‘
Si por el contrario, queremos descargar un fichero, lo haremos utilizando el comando ‘get‘, tal y como se muestra:
get listado.txt
Si además queremos descargar múltiples ficheros, por ejemplo todos los que tengan extensión .xls
get *.xls
Además pordemos interactuar con el servidor, realizando gestiones habituales de la consola de comandos, como por ejemplo, movernos por el arbol de dirctorios con cd
en remoto, y en local con lcd
. Crear ficheros en remoto con mkdir
y en local con lmkdir
. Por último si deseamos eliminar carpetas o ficheros, sería con rm
en local y rmdir
en remoto. Para salir exit
o quit
Espero que el artículo haya sido de vuestro interés. Nos leemos en la próxima.
Si queréis saber más y jugar un poca más con el comando, os dejo el artículo que escribí en su día: