Cómo cargar o descargar archivos/directorios usando sFTP en Linux


sFTP (programa seguro de transferencia de archivos) es un programa de transferencia de archivos seguro e interactivo, que funciona de manera similar a FTP (protocolo de transferencia de archivos). Sin embargo, sFTP es más seguro que FTP; maneja todas las operaciones a través de un transporte SSH cifrado.

Se puede configurar para utilizar varias funciones SSH útiles, como autenticación y compresión de clave pública. Se conecta e inicia sesión en la máquina remota especificada y cambia a un modo de comando interactivo donde el usuario puede ejecutar varios comandos.

En este artículo, le mostraremos cómo cargar/descargar un directorio completo (incluidos sus subdirectorios y subarchivos) usando sFTP.

Cómo usar sFTP para transferir archivos/directorios en Linux

De forma predeterminada, SFTP adopta el mismo transporte SSH para establecer una conexión segura a un servidor remoto. Aunque las contraseñas se utilizan para autenticar a los usuarios de forma similar a la configuración SSH predeterminada, se recomienda crear y utilizar el inicio de sesión sin contraseña SSH para una conexión más segura y simplificada a los hosts remotos.

Para conectarse a un servidor sftp remoto, primero establezca una conexión SSH segura y luego cree una sesión SFTP como se muestra.

$ sftp [email protected]

Una vez que haya iniciado sesión en el host remoto, puede ejecutar comandos sFTP interactivos como en los ejemplos a continuación:

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

Para cargar un directorio completo en un host Linux remoto, use el comando put. Sin embargo, obtendrá un error si el nombre del directorio no existe en el directorio de trabajo en el host remoto como se muestra en la captura de pantalla a continuación.

Por lo tanto, primero cree un directorio con el mismo nombre en el host remoto, antes de cargarlo desde el host local, el -r hace la magia, permitiendo que los subdirectorios y subarchivos también se copien:

sftp> put -r  Tecmint.com-articles
sftp> mkdir Tecmint.com-articles
sftp> put -r Tecmint.com-articles

Para conservar los tiempos de modificación, tiempos de acceso y modos de los archivos originales transferidos, use la marca -p .

sftp> put -pr Tecmint.com-articles

Para descargar un directorio completo llamado fstools-0.0 desde el host remoto de Linux a la máquina local, use el comando get con el indicador -r de la siguiente manera:

sftp> get -r fstools-0.0

Luego, verifique en el directorio de trabajo actual en el host local, si el directorio se descargó con todo el contenido.

Para terminar el shell sFTP, escriba:

sftp> bye
OR
sftp> exit

Además, lea los comandos sFTP y los consejos de uso.

Tenga en cuenta que para evitar que los usuarios accedan a todo el sistema de archivos en el host remoto, por razones de seguridad, puede restringir a los usuarios sFTP a sus directorios personales usando chroot Jail.

¡Eso es! En este artículo, le mostramos cómo cargar/descargar un directorio completo usando sFTP. Utilice la sección de comentarios a continuación para ofrecernos su opinión sobre este artículo/tema.