¿Qué es SFTP?
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. Funciona con los protocolos File Transfer Protocol (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.
Guía de instalación
En este tutorial, le mostraré cómo puede intercambiar fácilmente archivos entre máquinas locales y remotas usando este protocolo de transferencia de archivos súper práctico.
Para esta guía, he usado Linux Mint Cinamon 20.02 como mi máquina local y Ubuntu 20.04 LTS como mi máquina remota.
El tutorial se divide en dos partes. 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.
¡Empecemos!
Transferir archivos de una máquina remota a una máquina local
Paso 1:SSH a máquina remota
El primer paso es hacer 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 con la que desea comunicarse para obtener el archivo.
ssh [email protected]
Paso 2:Localiza el archivo a transferir
Luego, busque el archivo que desea copiar. En este tutorial, crearé 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
Paso 3:Establecer una conexión SFTP con la máquina remota
Ahora, nos conectaremos a la máquina remota usando sftp, como se muestra a continuación:
sftp [email protected]
Si ve sftp escrito así, significa que está en modo sftp. Ahora las máquinas locales y remotas pueden intercambiar archivos usando este protocolo.
Paso 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.
Paso 5:Transfiere el archivo
Vayamos al 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 como se muestra a continuación:
get 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.
Como puede ver, 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.
Transferir archivo de una máquina local a una máquina remota
Ahora que hemos visto cómo transferir un archivo desde una máquina remota a una local, veamos cómo podemos ir en la dirección opuesta.
Tenemos otro archivo test.txt en nuestra máquina local en la siguiente ruta de directorio:
/home/azifa/Downloads/folder
Desde aquí lo transferiremos a nuestra máquina remota.
Paso 1:Conéctese a la máquina remota usando SFTP
sftp [email protected]
Paso 2:Cambie el directorio local con el que interactúa sftp
El directorio de trabajo actual local es:
lpwd
Como te dije antes, podemos cambiar el directorio local con el que queremos que sftp interactúe. Para hacer eso, use el comando lcd:
lcd /home/azifa/Downloads/folder
Antes de esto, sftp interactuaba con el directorio raíz de la máquina local. Ahora interactuará con el directorio /home/azifa/Downloads/folder. Puede confirmarlo con el siguiente comando:
lpwd
Paso 4:Transferir el archivo
Luego, usamos el comando put para transferir el archivo desde la máquina local a la máquina remota.
Ejecute el comando ls para ver si el archivo se transfirió correctamente al directorio /home de la máquina remota.
ls
Sí, el archivo que transferimos está aquí en la máquina remota.
Ahora puede finalizar la sesión con un simple comando de despedida.
bye
En este artículo, le expliqué con qué facilidad puede transferir archivos entre una máquina remota y una máquina local con la ayuda de un protocolo de transferencia de archivos conocido como SFTP. Con este método, puede intercambiar archivos grandes de forma segura, ya que es un protocolo seguro que cifra sus datos para protegerlos.
Para ver cómo puede configurar un servidor ProFTPD en Linux Mint 20, visite:
https://linuxways.net/mint/install-proftpd-on-linux-mint-20/