¿Cómo transferir archivos usando SFTP?

SFTP (Secure File Transfer Protocol) o SSH (Secure Shell) File Transfer Protocol) es un protocolo de transferencia de archivos utilizado para transferir archivos entre el cliente y el servidor. Utiliza SSH (Secure Socket Shell) y también se conoce como Protocolo de transferencia de archivos de Secure Socket Shell. Proporciona acceso seguro a un servidor remoto para la transferencia segura de archivos.

Secure FTP surgió para satisfacer las necesidades de seguridad mejorada con túneles. Utiliza Secure Shell 2 (SSH2) para crear un túnel seguro y emular una conexión FTP para proporcionar un canal encriptado y amigable con el firewall para transferir archivos usando el popular puerto TCP 22. SSH ofrece seguridad mejorada al tener toda la sesión de transferencia de archivos, incluyendo todos los comandos de control de sesión, completamente encriptados en todo momento y solo necesitan abrir un único puerto en su firewall en lugar de los dos puertos que deben abrirse para las conexiones FTP y SSL.

SFTP utiliza el protocolo SSH para transferir archivos. Primero deberá configurar SSH. Para comprobar si tiene SSH configurado. Haga lo siguiente en su servidor

$ ssh geeksforgeeks@your_server_ip_or_remote_hostname.

Reemplace «geeksforgeeks» con su nombre de usuario y «your_server_ip_or_remote_hostname» con la IP de su servidor o nombre de host.

Si eso funciona y estás conectado, estás listo para comenzar. De lo contrario, primero deberá configurar el acceso SSH.

Luego salga del indicador.

$ exit

Establecimiento de sesión SFTP:
Podemos conectarnos a la sesión SFTP usando el siguiente comando.

$ sftp geeksforgeeks@your_server_ip_or_remote_hostname

Este comando lo conectará a la sesión remota y la indicación cambiará a la indicación SFTP.

Si está utilizando un puerto SSH personalizado (no el puerto predeterminado 22), puede usar el siguiente comando para conectarse a SFTP.

$ sftp -oPort=customport geeksforgeeks@your_server_ip_or_remote_hostname.

Aquí, cambie «customport» al número de puerto que está utilizando. Este comando lo conectará al SFTP con el puerto que especificó.

Transferencia de archivos con SFTP:

1. Transferir archivos remotos al sistema local:
si queremos transferir archivos desde nuestro host remoto, podemos hacerlo usando el siguiente comando.

sftp> get remote-file
Output
Fetching home/geeksforgeeks/remote-file to remote-file
/home/geeksforgeeks/remote-file                       100%   40KB  39.8KB/s   00:05

 Aquí, el archivo remoto será el nombre de los archivos que desea transferir. El comando get descargará el «archivo remoto» en su sistema local con el mismo nombre que en el servidor.

Podemos descargar el archivo remoto con un host remoto diferente a nuestra máquina especificando el nombre después del nombre del archivo remoto.

sftp> get remote-file local-file

El comando get también puede tomar algunas banderas como opciones. Por ejemplo, si queremos copiar un directorio con todo su contenido podemos usar la bandera recursiva “-r” .

sftp> get -r some-directory

2. Transferencia de archivos locales al sistema remoto: la
transferencia de archivos del sistema local al sistema remoto se puede lograr fácilmente usando el comando put .

sftp> put localFile
Output
Uploading local-file to /home/geeksforgeeks/local-file
local-file                                     100% 7607     7.4KB/s   00:00

Put puede usar las mismas banderas de opciones que get puede usar. Entonces, para copiar un directorio completo, podrá usar todos sus archivos.

sftp> put -r local-directory

Conclusión:
SFTP es una mejor manera de utilizar la fuerza de FTP o SCP para realizar transferencias entre archivos y carpetas locales y remotos.

Publicación traducida automáticamente

Artículo escrito por baddrink887 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *