Tutoriales

Cómo transferir archivos usando comandos SFTP

No te ofendas, pero ¿sigues usando el mismo antiguo estándar FTP (Protocolo de transferencia de archivos) para intercambiar archivos desde sistemas remotos?

Han pasado cinco años desde que apareció FTP, y ahora tenemos una alternativa más adecuada que tiene buenos algoritmos de seguridad y no compromete la velocidad.

Sinónimo de SFTP (Secure File Transfer Protocol) es una de las aplicaciones más receptivas del mercado que proporciona una conexión segura para intercambiar archivos de forma remota. Funciona sobre el protocolo SSH, que es conocido por su seguridad, y utiliza el mismo protocolo y puerto.

Aunque muchas herramientas y aplicaciones de GUI están disponibles en el sistema operativo, hoy las demostraremos utilizando el enfoque CLI clásico.

Instalar en pc

Para comenzar con SFTP, debe tener ssh configurado en sus sistemas locales y remotos. Si ninguno de los sistemas tiene SSH instalado, utilice el enlace de referencia a continuación.

leer: Cómo instalar el servidor OpenSSH en Ubuntu

leer: ¿Cómo proteger el servidor OpenSSH?

Ahora ejecute el siguiente comando para verificar si se está ejecutando.

$ sftp
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
          [-D sftp_server_path] [-F ssh_config] [-i identity_file]
          [-J destination] [-l limit] [-o ssh_option] [-P port]
          [-R num_requests] [-S program] [-s subsystem | sftp_server]
          destination

Cómo conectarse a SFTP

Asegúrese de que ssh se esté ejecutando como un servicio en segundo plano en el sistema remoto para establecer la conexión. Después de eso, tome nota del nombre de usuario del sistema remoto y su IP de host o nombre de dominio.

Una vez que tenga el nombre de usuario y la IP/dominio, use el siguiente comando en el sistema local para conectarse al sistema remoto.

$  sftp [email protected]
The authenticity of host '192.168.0.106 (192.168.0.106)' can't be established.
ED25519 key fingerprint is SHA256:N1/BpC453dvqVhXCJ0FCZIQfiXIdHkLd6oq361jcCPs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

No olvide reemplazar el nombre de usuario y el host arriba.ahora presiona «Sí» Permita que la información del host se guarde en el sistema local.

Para usar un puerto que no sea el predeterminado 22 al configurar el servidor ssh remoto, use «-PAGS» banderas para especificar puertos personalizados, como se muestra a continuación.

$ sftp -P 22 [email protected]

Ahora, si tiene claves ssh configuradas en el sistema remoto (recomendado), no le pedirá la contraseña de usuario; de lo contrario, le pedirá la contraseña de usuario del sistema remoto para la autenticación, como se muestra a continuación.

Warning: Permanently added '192.168.0.106' (ED25519) to the list of known hosts.
[email protected]'s password:

Ingrese la contraseña de usuario para el sistema remoto (por ejemplo: trendoceans).Luego se autenticará y dará «sftp>» El terminal se comunica con el servidor remoto como se muestra en la siguiente figura.

Connected to 192.168.0.106.
sftp>

Descargar archivos desde servidores remotos

Ahora que está conectado al sistema remoto, puede comenzar a descargar archivos del servidor.Para transferir archivos de remoto a local usaremos get comando, que nos ayuda a descargar archivos de sistemas remotos.

corramos ls El comando enumera todos los archivos y directorios en mi servidor remoto como se muestra a continuación.

sftp> ls
Desktop    Documents  Downloads  Music      Pictures   Public     Templates  Videos     to.txt

En este momento, estoy en mi directorio de inicio en el servidor.puedes usarlo PWD Comando para comprobar.

Descarguemos usando el siguiente comando «a.txt» del sistema remoto a mi sistema local.

sftp> get to.txt
Fetching /home/trendoceans/to.txt to to.txt
to.txt                                                                                          100%   18    15.0KB/s   00:00

Esta get to.txt El comando descargará el archivo al directorio de trabajo actual local, que es el directorio antes de conectarse al servidor.

Si desea descargar el archivo en otro lugar, especifique la ruta como se muestra a continuación.

sftp> get to.txt Documents/
Fetching /home/trendoceans/to.txt to Documents/to.txt
to.txt                                                                                          100%   18    13.9KB/s   00:00

Si está descargando un directorio con muchos archivos, no un solo archivo.Entonces puedes usar "-r" logotipo junto con get comando, como se muestra a continuación.

sftp> get -r Pictures/
Fetching /home/trendoceans/Pictures/ to Pictures
Retrieving /home/trendoceans/Pictures
Screenshot.png                                                                                  100%   89KB   9.9MB/s   00:00

Transferir archivos locales a sistemas remotos

Para cargar cualquier archivo desde su sistema local a un sistema remoto, debe usar put Pedido.trabajo put muy similar get Los comandos son ligeramente diferentes.

en el interior put comando, debe especificar la ruta del archivo local y luego cargarlo en el servidor, como se muestra a continuación.

sftp> put file.txt
Uploading file.txt to /home/trendoceans/file.txt
file.txt                                                                                        100%    0     0.0KB/s   00:00
sftp> ls
Desktop    Documents  Downloads  Music      Pictures   Public     Templates  Videos     file.txt   image.jpg  to.txt

Arriba, puedes ver «archivo.txt» Cargue en el directorio de inicio remoto. Si no especifica ningún objetivo en el servidor remoto, en su mayoría cargará archivos en el directorio de inicio.

Como se muestra en la figura a continuación, para cambiar la ruta de carga, especifíquela después de la ruta del archivo local.

sftp> put file.txt Documents/
Uploading file.txt to /home/trendoceans/Documents/file.txt
file.txt                                                                                        100%    0     0.0KB/s   00:00
sftp> ls Documents/
Documents/file.txt

Si está cargando una carpeta, utilice «-r» Indicador para cargar directorios de forma recursiva desde un servidor local a un servidor remoto, como se muestra a continuación.

sftp> put -r dir
Uploading dir/ to /home/trendoceans/dir
Entering dir/
file.txt                                                                                        100%    0     0.0KB/s   00:00
sftp> ls
Desktop    Documents  Downloads  Music      Pictures   Public     Templates  Videos     dir        file.txt   image.jpg
to.txt

envolver

Espero que esto le haga cambiar de opinión acerca de sftp, pero si todavía está atascado con el antiguo protocolo FTP estándar, le recomendamos que solo lo use si confía en la red.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba