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


sFTP (programa seguro de transferencia de archivos) es un programa seguro e interactivo de transferencia de archivos, 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 sobre un transporte SSH cifrado.

Puede configurarse para usar varias funciones SSH útiles, como la 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 usan para autenticar usuarios similares a la configuración predeterminada de SSH, pero se recomienda crear y usar el inicio de sesión sin contraseña de SSH para una conexión simplificada y más segura 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 interactivos sFTP 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 remoto de Linux, use el comando poner . Sin embargo, recibirá un error si el nombre del directorio no existe en el directorio de trabajo en el host remoto como se muestra en la siguiente captura de pantalla.

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

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

Para preservar los tiempos de modificación, los tiempos de acceso y los 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 obtener con la marca -r de la siguiente manera:

sftp> get -r fstools-0.0

Luego, verifique el directorio de trabajo actual en el host local, si el directorio se descargó con todos los contenidos.

Para desactivar el shell sFTP, escriba:

sftp> bye
OR
sftp> exit

Además, lea los comandos de sFTP y las sugerencias 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 de sFTP a sus directorios de inicio utilizando chroot Jail.

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