GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Uso del protocolo SFTP para transferir archivos entre máquinas locales y remotas

El Protocolo simple de transferencia de archivos (SFTP) es un protocolo que se utiliza para transferir archivos entre dos dispositivos a través de Internet. Se ejecuta sobre el Protocolo de transferencia de archivos (FTP) y Secure Shell (SSH).

Si bien el protocolo transfiere archivos, también protege contra la detección de contraseñas, el ataque de intermediarios y la exposición de datos confidenciales. También preserva la integridad de los datos con la ayuda de funciones de cifrado y hash criptográfico. También autentica tanto al cliente como al servidor antes de dar acceso. Esto permite la transferencia segura de archivos.

Aquí en LinuxAPT, veremos cómo puede intercambiar fácilmente archivos entre máquinas locales y remotas usando este protocolo de transferencia de archivos súper práctico.

Aquí, usaremos Linux Mint Cinamon 20.02 como nuestra máquina local y Ubuntu 20.04 LTS como máquina remota.

En la primera parte, verá cómo transferir un archivo desde una máquina remota a una máquina local. En la otra parte, verá cómo transferir un archivo desde su máquina local a una máquina remota.

Para ver cómo puede configurar un servidor ProFTPD en Linux Mint 20, visite:https://linuxapt.com/blog/1032-install-proftpd-on-linux-mint-20


a. Pasos para transferir archivos de una máquina remota a una máquina local

1. SSH a máquina remota

Para comenzar, establezca una conexión SSH a su máquina remota. Para hacer eso, primero, conviértase en superusuario usando el siguiente comando:

$ sudo -i

Ahora que se ha convertido en superusuario, ssh a la máquina remota (192.168.10.23) con la que desea comunicarse para obtener el archivo.

$ ssh [email protected]


2. Localiza el archivo a transferir

Ahora, busque el archivo que desea copiar. En este tutorial, crearemos un nuevo archivo para transferirlo a mi máquina local.

Para hacer eso, iré al directorio /etc ejecutando el siguiente comando:

$ cd /etc

Con la ayuda del comando táctil, crearé un nuevo archivo con el nombre "transfer.txt":

$ touch transfer.txt


3. Establezca una conexión SFTP con la máquina remota

Ahora, nos conectaremos a la máquina remota usando sftp:

$ sftp [email protected]

Si ve sftp escrito así:

sftp> pwd
Remote working directory: /home

Esto significa que está en modo sftp. Ahora las máquinas locales y remotas pueden intercambiar archivos usando este protocolo.


4. Compruebe con qué directorios interactúa sftp

Antes de continuar con la transferencia de archivos, naveguemos un poco para comprender con qué directorios interactúa sftp. Ejecute el siguiente comando para conocer su directorio de trabajo actual:

$ pwd

Para ver el directorio de trabajo actual de la máquina local, usaremos:

lpwd

También podemos cambiar el directorio con el que queremos interactuar. Se incluye en la segunda parte de esta guía.


5. Transfiere el archivo

Navegue hasta el directorio /etc donde creamos el archivo transfer.txt:

$ cd /etc

Para enviar un archivo desde la máquina remota a la máquina local, usamos el comando get seguido del nombre del archivo:

$ get transfer.txt
Fetching /etc/transfer.txt to transfer.txt

Ahora acceda al directorio raíz de su sistema local con el siguiente comando:

$ cd ~

Use ls para ver todos los archivos en el directorio:

$ ls

Ahora verá que el archivo transfer.txt ahora está en nuestra máquina local.

Después de cerrar la sesión de sftp, puede transferir el archivo desde su directorio raíz a cualquier otra carpeta en su máquina.


b. Transferir archivo de una máquina local a una máquina remota

Tenemos otro archivo test.txt en nuestra máquina local en la siguiente ruta de directorio:

$ /home/linuxAPT/Downloads/folder

Desde aquí lo transferiremos a nuestra máquina remota.

1. Conéctese a la máquina remota mediante SFTP:

$ sftp [email protected]


2. Cambie el directorio local con el que interactúa sftp

El directorio de trabajo actual local es:

$ lpwd
Local working directory: /root

Como se indicó anteriormente, podemos cambiar el directorio local con el que queremos que sftp interactúe. Para hacer eso, use el comando lcd:

$ lcd /home/linuxAPT/Downloads/folder

Antes de esto, sftp interactuaba con el directorio raíz de la máquina local. Ahora interactuará con el directorio /home/linuxAPT/Downloads/folder. Puede confirmarlo con el siguiente comando:

$ lpwd
working directory: /home/linuxAPT/Downloads/folder


4. Transferir el archivo

A continuación, usamos el comando put para transferir el archivo desde la máquina local a la máquina remota:

$ put test.txt
uploading test.txt to /home

Ahora, ejecute el comando ls para ver si el archivo se transfirió con éxito al directorio /home de la máquina remota:

$ ls

Ahora el archivo que transferimos está aquí en la máquina remota.

Ahora puede finalizar la sesión con un simple comando de despedida:

$ bye



Ubuntu
  1. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Transfiera archivos y carpetas de forma segura entre computadoras usando Croc

  3. Cómo transferir archivos entre máquinas locales y remotas usando el protocolo SFTP

  4. Cómo transferir archivos entre servidores en Linux usando SCP y FTP

  5. Cómo transferir archivos de forma segura usando el comando SCP en Linux

Cómo compartir y transferir archivos entre Linux y Windows

Transferir archivos y carpetas entre computadoras con Croc

Transferir archivos entre cualquier dispositivo utilizando Piping Server

Cómo transferir archivos de forma segura entre sistemas Ubuntu usando Croc

4 formas de transferir archivos entre sistemas remotos y locales a través de SSH

Cómo:Comandos SFTP:transferir archivos de forma segura a un servidor remoto