10 ejemplos de comandos sFTP para transferir archivos en servidores remotos en Linux


El Protocolo de transferencia de archivos (FTP) fue un protocolo ampliamente utilizado para transferir archivos o datos de forma remota en un formato no cifrado que no es una forma segura de comunicarse. Como todos sabemos, el Protocolo de transferencia de archivos no es seguro en absoluto porque todas las transmisiones se realizan en texto sin cifrar y cualquier persona puede leer los datos durante el rastreo de paquetes en la red.

Entonces, básicamente, FTP se puede usar en casos limitados o en las redes en las que confía. Durante el período de tiempo, SCP y SSH abordan esta ambigüedad de seguridad y agregaron una capa segura encriptada al transferir datos entre computadoras remotas.

SFTP (Protocolo seguro de transferencia de archivos) se ejecuta sobre el protocolo SSH en el puerto estándar 22 de forma predeterminada para establecer una conexión segura. SFTP se ha integrado en muchas herramientas GUI (FileZilla, WinSCP, FireFTP, etc.).

Advertencias de seguridad: no abra el puerto SSH (Secure SHell) en todo el mundo, ya que esto constituiría una brecha de seguridad. Solo puede abrir para una IP específica desde donde va a transferir o administrar archivos en el sistema remoto o viceversa.

  1. 5 mejores prácticas para asegurar y proteger el servidor SSH
  2. 10 ejemplos de comandos Wget en Linux

Este artículo le guiará 10 ejemplos de comandos sftp para usarlo a través de la interfaz de línea de comandos interactiva.

1. Cómo conectarse a SFTP

De forma predeterminada, se utiliza el mismo protocolo SSH para autenticar y establecer una conexión SFTP. Para iniciar una sesión SFTP, ingrese el nombre de usuario y el nombre de host remoto o la dirección IP en el símbolo del sistema. Una vez que la autenticación sea exitosa, verá un shell con un mensaje sftp>.

[[email protected] ~]# sftp [email protected]

Connecting to 27.48.137.6...
[email protected]'s password:
sftp>

2. Obtener ayuda

Una vez, en el símbolo del sistema sftp, verifique los comandos disponibles escribiendo "?" O "ayuda" en el símbolo del sistema.

sftp> ?
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode'
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help

3. Compruebe el directorio de trabajo actual

El comando "lpwd" se usa para verificar el directorio de trabajo local actual, mientras que el comando "pwd" se usa para verificar el directorio de trabajo remoto.

sftp> lpwd
Local working directory: /
sftp> pwd
Remote working directory: /tecmint/

  1. lpwd: imprime el directorio actual en su sistema
  2. pwd: imprime el directorio actual en el servidor ftp

4. Listado de archivos

Listado de archivos y directorios en el sistema local y remoto.

sftp> ls
sftp> lls

5. Cargar archivo

Ponga uno o varios archivos en el sistema remoto.

sftp> put local.profile
Uploading local.profile to /tecmint/local.profile

6. Cargar varios archivos

Poner varios archivos en un sistema remoto.

sftp> mput *.xls

6. Descargar archivos

Obtener archivos únicos o múltiples en el sistema local.

sftp> get SettlementReport_1-10th.xls
Fetching /tecmint/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

Obtenga varios archivos en un sistema local.

sftp> mget *.xls

Nota: Como podemos ver por defecto con el comando get download file en el sistema local con el mismo nombre. Podemos descargar un archivo remoto con un nombre diferente especificando el nombre al final. (Esto se aplica solo al descargar un solo archivo).

7. Cambio de directorios

Cambio de un directorio a otro directorio en ubicaciones locales y remotas.

sftp> cd test
sftp>
sftp> lcd Documents

8. Crear directorios

Creación de nuevos directorios en ubicaciones locales y remotas.

sftp> mkdir test
sftp> lmkdir Documents

9. Eliminar directorios

Eliminar directorio o archivo en sistema remoto.

sftp> rm Report.xls
sftp> rmdir sub1

Nota: Para eliminar/eliminar cualquier directorio de una ubicación remota, el directorio debe estar vacío.

10. Salga de sFTP Shell

El comando "!" Nos coloca en el shell local desde donde podemos ejecutar comandos de Linux. Escriba el comando "exit" donde podemos ver sftp> prompt return.

sftp> !

[[email protected] ~]# exit
Shell exited with status 1
sftp>

Conclusión

El SFTP es una herramienta muy útil para administrar servidores y transferir archivos desde y hacia (local y remoto). Esperamos que esta información le ayude a comprender el uso de SFTP en cierta medida.