Búsqueda de sitios web

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 la autenticación y la compresión de claves públicas. 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) utilizando sFTP.

Cómo utilizar 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 usuarios de forma similar a la configuración SSH predeterminada, se recomienda crear y utilizar un inicio de sesión SSH sin contraseña para una conexión simplificada y más segura a hosts remotos.

Conéctese al servidor FTP remoto de forma segura

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 

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

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

Cómo cargar un directorio usando sFTP

Para cargar un directorio completo a un host Linux remoto, use el comando put. Sin embargo, recibirá un error si el nombre del directorio no existe en el directorio de trabajo del 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 también se copien subdirectorios y subarchivos:

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

Para conservar los tiempos de modificación, los tiempos de acceso y los modos de los archivos originales transferidos, utilice el indicador -p.

sftp> put -pr linux-console.net-articles

Cómo descargar un directorio usando sFTP

Para descargar un directorio completo llamado fstools-0.0 desde un host Linux remoto 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 que contiene.

Para desactivar 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 de sFTP a sus directorios personales usando chroot Jail.

¡Eso es todo! 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.