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.

  1. sftp> lpwd
  2. Local working directory: /home/david
  3. sftp> pwd
  4. Remote working directory: /root
  5. sftp>

Una vez hecho esto, si queremos subir un fichero, al servidor remoto, lo haremos mediante la orden ‘put

  1. 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:

  1. get listado.txt

Si además queremos descargar múltiples ficheros, por ejemplo todos los que tengan extensión .xls

  1. 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:

Crear un servidor hosting seguro con Debian, LAMP y SFTP