Para subir o descargar archivos en Internet, existe una variedad de protocolos.
Entre los muchos protocolos se encuentra FTP o File Transfer Protocol que es el encargado de cargar o descargar archivos en el servidor donde se encuentra almacenado un sitio web, o un repositorio de información, por ejemplo, en tu cuenta de hosting.
El problema es que FTP tiene más 50 años desde que fue creado y debido a que los ataques informáticos se vuelven cada vez más sofisticados, fue necesario encontrar un reemplazo que ofreciera mayor protección.
SFTP es el protocolo orientado a sustituir a FTP y a continuación encontrarás de qué se trata y cómo puedes utilizarlo.
¿Qué es SFTP?
SFTP o (Shell File Transfer Protocol), es una mezcla entre FTP y SSH (Secure Shell Protocol), pero fue desarrollado desde cero. La verdad es que aunque sustituye al FTP, se trata más bien de un mecanismo de seguridad que transfiere archivos.
SSH aporta encriptamiento a los datos de autenticación y archivos, de tal forma que no puedan ser vistos o interpretados por atacantes en la red. Así se ofrece mayor seguridad a los usuarios, sobre todo cuando se trata de información sensible o confidencial.
¿Cómo Utilizar el Protocolo SFTP?
El canal o puerto de comunicación de SFTP es el mismo de SSH (socket 22) e implementa dos vías de autenticación: a través de un usuario y contraseña regular como lo hace el FTP, o por medio de la creación de una llave pública y otra privada, tal como funciona SSH, aunque este último soporta ambas modalidades.
El problema de la autenticación o conexión por vía de usuario y contraseña es que representa un mayor riesgo de seguridad, ya que cualquiera que obtenga estos datos puede acceder a tu información.
Mientras que por la vía de la generación de dos claves, la clave pública asentada en el servidor y la privada en tu equipo, se realiza una validación de ambas claves y esto es lo que permite el establecimiento de la conexión.
Por lo tanto, el primer paso es crear ambas claves a través de un software o comando que se adapte al sistema operativo de tu equipo local.
Luego, debes establecer conexión con el servidor al que desees acceder, transferir el o los archivos y cerrar la sesión. Todo esto puedes hacerlo tanto por vía de comandos como a través del uso de programas denominados Clientes FTP tales como Filezilla, WinSCP y SmartFTP, entre otros.
Si bien puedes conectarte al servidor con un software de transferencia de archivos que permiten utilizar SFTP, a continuación aprenderás los comandos más comunes para que puedas hacerlo directamente desde el shell o ventana de comandos de tu sistema operativo.
¿Cómo Conectarte con Tu Hosting Usando SFTP?
Para lograr el establecimiento de comunicación entre tu equipo y el servidor tendrás que escribir en la ventana de comandos de tu sistema operativo una de las siguientes instrucciones:
- sftp user@server_ipaddress
- sftp user@remotehost_domainname
En estos comandos debes sustituir la palabra user por el nombre de usuario de la cuenta SFTP, y server_ipaddress por la dirección IP de tu servidor o remotehost_domainname por el nombre del servidor remoto.
Si la conexión se ha establecido con éxito, observarás en la ventana de comandos este indicador:
- sftp>
Si no hay un error, esto debe salir muy rápido.
¿Cómo Realizar la Transferencia de Archivos Usando SFTP?
Si quieres conocer en qué directorio te encuentras posicionado tanto a nivel remoto como a nivel local, debes usar los comandos pwd (directorio remoto) y lpwd (directorio local):
- sftp> pwd
- Remote directory: /DirectorioRemoto
- sftp> lpwd
- Local directory: /DirectorioLocal
Para transferir un archivo desde el directorio remoto hasta el directorio de tu equipo local, debes ejecutar la siguiente instrucción y presionar la tecla TAB:
- get nombredearchivo.extensión (TAB)
Ejemplo:
- get index.php (TAB)
Para transferir archivos desde tu equipo hasta el servidor remoto debes ejecutar la siguiente instrucción:
- put nombredearchivo.extensión (TAB)
Ejemplo:
- put audio.php (TAB)
También puedes realizar descargas o cargas masivas a través de los comandos mget y mput.
Para descargar:
- mget nombredearchivo.* (TAB)
- mget *.extensión (TAB)
- mget *.* (TAB)
Así, el primero descarga todos los archivos con la misma extensión, el segundo todos los archivos con el mismo nombre y el tercero, todos los archivos.
Si deseas cargar de forma masiva:
- mput nombredearchivo.* (TAB)
- mput *.extensión (TAB)
- mput *.* (TAB)
Principales Comandos de SFTP
Existen otros comandos que te serán de mucha ayuda para trabajar con este protocolo seguro de comunicación. Entre ellos se pueden destacar:
- ls sirve para generar un listado de archivos que se encuentran en el directorio remoto.
- lls genera un listado de los archivos que se encuentran en el directorio local.
- cd si deseas cambiar de directorio en tu equipo remoto.
- lcd si deseas cambiar de directorio en tu equipo local.
- mkdir para crear un directorio en el servidor remoto.
- lmkdir para crear el directorio en el equipo local.
- rmdir para eliminar un directorio en el servidor remoto.
- rm para eliminar un archivo.
- rename para renombrar un archivo.
- quit para cerrar la sesión del SFTP y ! para volver a los comandos regulares de tu sistema operativo.
Conclusiones
Las redes de datos emplean mecanismos de comunicación que permiten a los equipos interpretar la información que viaja a través de ellos, denominados protocolos. Uno de estos protocolos es el FTP, el cual ha sido el encargado por años de realizar la transferencias de archivos.
Pero, debido a los múltiples problemas de seguridad que se presentan sobre Internet, fue necesario implementar algunos otros protocolos que provean mayores ventajas de confidencialidad a los usuarios.
Entre muchos surgió SFTP o SHELL File Transfer Protocol, el cual surge del conocido SSH pero que implementa la funcionalidad del FTP. Para usarlo es necesario efectuar la conexión desde la ventana de comandos de tu sistema operativo, así como crear las llaves públicas y privadas.
Luego, tendrás que establecer la conexión entre servidor y equipo local, realizar las transferencias de archivos respectivas y por último cerrar la sesión. Para esto y más se utilizan una serie de comandos o software llamados clientes FTP.
Si te ha gustado esta información, me lo harías saber?. Gracias por tu tiempo 😉