GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo trabajar con el cliente SFTP en Linux:10 comandos sftp

El Protocolo de transferencia de archivos es un protocolo de comunicación estándar utilizado para la transferencia de archivos informáticos desde un servidor a un cliente en una red informática.

FTP no es popular hoy en día porque carece de seguridad. Cuando se envía un archivo mediante este protocolo, los datos, el nombre de usuario y la contraseña se comparten en texto sin formato, lo que significa que un pirata informático puede acceder a esta información con poco o ningún esfuerzo. Para que los datos estén seguros, debe usar una versión actualizada de FTP como SFTP.

SFTP Secure File Transfer Protocol es un protocolo de transferencia de archivos que brinda acceso seguro a una computadora remota para brindar comunicaciones seguras. Aprovecha SSH:Secure Socket Shell y, con frecuencia, también se lo conoce como "Protocolo de transferencia de archivos de Secure Shell".

Contenido relacionado

  • Cómo configurar un servidor SFTP en el servidor Debian 11
  • Descargar archivos desde el servidor SFTP utilizando un script de python
  • Enumere, cargue y descargue archivos desde un servidor SFTP usando golang
  • Cómo configurar un servidor SFTP en OpenSUSE Leap 15.3 Server
  • Cómo instalar y configurar el servidor sftp en Ubuntu 20.04
  • Cómo configurar un servidor SFTP en CentOS 8/RHEL 8 Server

Requisitos

Para seguir, asegúrese de tener lo siguiente:

  • Un servidor SFTP al que conectarse. Si desea configurar el servidor, consulte las guías anteriores
  • Credenciales para conectarse al servidor

Tabla de contenido

  1. Conectando al servidor SFTP
  2. Comprobando la versión de sftp
  3. Mostrando directorio de trabajo remoto
  4. Mostrar el directorio de trabajo de la máquina local
  5. Subir archivos al servidor sftp
  6. Descargando archivos desde el servidor sftp
  7. Crear y eliminar directorio en el servidor sftp
  8. Eliminar archivos en el servidor sftp
  9. Renombrar archivos en el servidor sftp
  10. Comprobación del uso de archivos en el servidor sftp
  11. Obtener ayuda

1. Conectando al servidor SFTP

Puede usar la terminal de línea de comandos para probar su inicio de sesión en SFTP. Esto incluso se puede hacer localmente en el servidor sftp.

Este es el formato del comando de inicio de sesión:

sftp [user]@[host]

Vamos a conectarnos a nuestro servidor. se necesitará su nombre de usuario y contraseña de SFTP.

sftp [email protected]

Salida:

$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>

Esto lo iniciará en el servidor. El directorio predeterminado es /home dir especificado en ChrootDirectory /home directiva en las configuraciones del servidor ssh.

2. Comprobación de la versión de SFTP

Utilice el comando de versión para comprobar la versión de sftp.

sftp> version
SFTP protocol version 3
sftp>

3. Mostrar directorio de trabajo remoto

Si necesita verificar el directorio de trabajo actual en el servidor remoto, el pwd el comando es útil:

sftp> pwd
Remote working directory: /sftpuser1
sftp>

4. Mostrar el directorio de trabajo de la máquina local

Para mostrar el directorio de trabajo actual del sistema local, use lpwd comando.

sftp> lpwd
Local working directory: /home/ubuntu
sftp>

El usuario creado solo tendrá acceso a su directorio. Cambiemos a ese directorio con el siguiente comando:

sftp> cd sftpuser1
sftp>

Vaya al directorio de inicio del usuario de SFTP e intente crear un nuevo directorio de la siguiente manera:

sftp> ls
sftpuser1  ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir

5. Subir archivos al servidor sftp

Hacerlo desde local

Cargue archivos a un servidor remoto usando esta sintaxis de comando:

$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'

Ejemplo:

$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
Hacerlo desde el servidor sftp

Usa estos comandos: ls para listar archivos, lls para la lista local, put para subir archivos:

sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt  snap  tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt                                                            100%   32    25.8KB/s   00:00
sftp> ls
citizix.txt
sftp>

Para cargar varios archivos de una sola vez, podemos usar mput comando como en el siguiente ejemplo. Puedes usar mput con una expresión regular como data[23] para subir data2data3 e ignorar data1 . Puede usar cualquier comodín o expresión regular con mput .

sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1  data2  data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2                                                                  100%    0     0.0KB/s   00:00
Uploading data3 to /sftpuser1/data/data3
data3                                                                  100%    0     0.0KB/s   00:00
sftp> ls
data2  data3

6. Descargando archivos desde el servidor sftp

Hacerlo desde la máquina local

Para descargar un archivo desde un servidor remoto, use la siguiente sintaxis de comando:

$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}

Aquí hay una demostración de cómo descargar un archivo en una línea usando sftp:

# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt                                                 100%   32    26.7KB/s   00:00
Hacerlo desde el servidor sftp remoto

Descargue un solo archivo del servidor usando get . Ejemplo descargando data2

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>

Usa mget para descargar varios archivos como en este ejemplo

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2  data3
sftp>

7. Creación y eliminación de directorio en el servidor sftp

Usa los comandos mkdirrmdir para crear y borrar directorios

sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>

8. Eliminando archivos en el servidor sftp

Usa el comando rm para borrar archivos

sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>

9. Cambio de nombre de archivos en el servidor sftp

Usa el rename comando para renombrar archivos

sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>

10. Comprobación del uso del sistema de archivos en el servidor sftp

Muestre estadísticas para el directorio o sistema de archivos actual que contiene 'ruta', use el comando df. Podemos usar el indicador -h para mostrar estadísticas en un formato legible por humanos. Tenga en cuenta que las estadísticas que se muestran son para el sistema de archivos respectivo del servidor SFTP remoto y no para el sistema de archivos de la máquina local.

sftp> df
        Size         Used        Avail       (root)    %Capacity
    29540600      5917856     22103188     23622744          20%
sftp> df -h
    Size     Used    Avail   (root)    %Capacity
  28.2GB    5.6GB   21.1GB   22.5GB          20%

11. Obtener ayuda

Para obtener ayuda sobre los comandos y la sintaxis disponibles para SFTP, use '?' o 'ayuda'.

sftp> ?

Salida:

sftp> ?
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp [-h] grp path                Change group of file 'path' to 'grp'
chmod [-h] mode path               Change permissions of file 'path' to 'mode'
chown [-h] own path                Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-afpR] remote [local]         Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln [-s] oldpath newpath            Link remote file (-s for symlink)
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-afpR] local [remote]         Upload file
pwd                                Display remote working directory
quit                               Quit sftp
reget [-fpR] remote [local]        Resume download file
rename oldpath newpath             Rename remote file
reput [-fpR] local [remote]        Resume upload file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Consulte la página de manual de sftp para obtener más información.

$ man sftp
Salir de la sesión SFTP

Finalmente, puede salir del sftp usando el byeexitexit :

sftp> exit
$

Conclusión

En esta guía logramos explorar las operaciones básicas que se pueden realizar en un servidor SFTP


Linux
  1. Cómo configurar un servidor SFTP en Arch Linux

  2. Cómo trabajar con usuarios y grupos en Linux

  3. Cómo monitorear la seguridad del servidor Linux con Osquery

  4. Cómo instalar y configurar el servidor y el cliente NTP de Linux

  5. Cómo SCP desde un servidor Linux a un cliente Windows

Cómo administrar de forma remota un servidor Linux con SSH

Cómo trabajar con procesos en primer plano y en segundo plano en Linux

Cómo trabajar con enlaces duros y suaves en Linux

Linux:¿cómo funciona la pantalla de Linux?

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

Cómo verificar los parámetros del servidor VPS con el comando Linux