GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando SFTP para transferir archivos

SFTP (Protocolo de transferencia de archivos SSH) es un protocolo de archivo seguro que se utiliza para acceder, administrar y transferir archivos a través de un transporte SSH cifrado.

En comparación con el protocolo FTP tradicional, SFTP ofrece toda la funcionalidad de FTP, pero es más seguro y fácil de configurar.

A diferencia de SCP, que solo admite transferencias de archivos, SFTP le permite realizar una variedad de operaciones en archivos remotos y reanudar las transferencias de archivos.

En este tutorial, le mostraremos cómo usar Linux sftp comando.

Antes de comenzar #

Para poder transferir archivos a través de SFTP, debe tener permiso de escritura en el sistema remoto.

Al transferir archivos grandes, se recomienda ejecutar sftp comando dentro de una pantalla o tmuxsession.

El directorio desde donde ejecuta el sftp comando es el directorio de trabajo local.

No confunda SFTP con FTPS. Ambos protocolos tienen el mismo propósito. Sin embargo, FTPS significa FTP seguro y es una extensión del protocolo FTP estándar con soporte para TLS.

Estableciendo una conexión SFTP #

SFTP funciona en un modelo cliente-servidor. Es un subsistema de SSH y admite todos los mecanismos de autenticación SSH.

Para abrir una conexión SFTP a un sistema remoto, use el sftp comando seguido del nombre de usuario del servidor remoto y la dirección IP o nombre de dominio:

sftp remote_username@server_ip_or_hostname

Si se está conectando al host mediante la autenticación de contraseña, se le pedirá que ingrese la contraseña de usuario.

Una vez conectado, se le presentará el sftp y puede comenzar a interactuar con el servidor remoto:

Connected to remote_username@server_ip_or_hostname.
sftp>

Si el servidor SSH remoto no está escuchando en el puerto predeterminado 22, use -P opción para especificar el puerto SFTP:

sftp -P custom_port remote_username@server_ip_or_hostname

Comandos SFTP #

La mayoría de los comandos SFTP son similares o idénticos a los comandos de shell de Linux.

Para obtener una lista de todos los comandos SFTP disponibles, escriba help , o ? .

help

Esto generará una larga lista de todos los comandos disponibles, incluida una breve descripción de cada comando:

Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
...
...
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Cuando inicia sesión en el servidor remoto, su directorio de trabajo actual es el directorio de inicio del usuario remoto. Puede comprobarlo escribiendo:

pwd
Remote working directory: /home/remote_username

Para listar los archivos y directorios, use el ls comando:

ls

Para navegar a otro directorio, use el cd dominio. Por ejemplo, para cambiar a /tmp directorio que escribiría:

cd /tmp

Los comandos anteriores se utilizan para navegar y trabajar en la ubicación remota.

El shell SFTP también proporciona comandos para la navegación local, la información y la gestión de archivos. Los comandos locales tienen el prefijo l .

Por ejemplo, para imprimir el directorio de trabajo local, escribiría:

cd lpwd
Local working directory: /home/local_username

Transferir archivos con SFTP #

SFTP le permite transferir archivos entre dos máquinas de forma segura.

Si está trabajando en una máquina de escritorio, puede usar un cliente GUI SFTP como WinSCPor FileZilla para conectarse al servidor remoto y descargar o cargar archivos.

El sftp El comando es útil cuando trabaja en un servidor sin GUI y desea transferir archivos o realizar otras operaciones en los archivos remotos.

Descarga de archivos con el comando SFTP #

Para descargar un solo archivo desde el servidor remoto, use el get comando:

get filename.zip

La salida debería verse así:

Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip                           100%   24MB   1.8MB/s   00:13

Al descargar archivos con sftp , los archivos se descargan en el directorio desde el que escribió el sftp comando.

Si desea guardar el archivo descargado con un nombre diferente, especifique el nuevo nombre como segundo argumento:

get filename.zip local_filename.zip

Para descargar un directorio desde el sistema remoto, use el recursivo -r opción:

get -r remote_directory

Si la transferencia de un archivo falla o se interrumpe, puede reanudarla mediante reget comando.

La sintaxis de reget es la misma que la sintaxis de get :

reget filename.zip

Subir archivos con el comando SFTP #

Para cargar un archivo desde la máquina local al servidor SFTP remoto, use el put comando:

put filename.zip

La salida debería verse así:

Uploading filename.zip to /home/remote_username/filename.zip
filename.zip                          100%   12MB   1.7MB/s   00:06

Si el archivo que desea cargar no se encuentra en su directorio de trabajo actual, use la ruta absoluta al archivo.

Cuando se trabaja con put puede usar las mismas opciones que están disponibles con get comando.

Para cargar un directorio local, debe escribir:

put -r locale_directory

Para reanudar una carga interrumpida:

reput filename.zip

Manipulación de archivos con SFTP #

Por lo general, para realizar tareas en un servidor remoto, se conectaría a él a través de SSH y haría su trabajo usando la terminal de shell. Sin embargo, en algunas situaciones, es posible que el usuario solo tenga acceso SFTP al servidor remoto.

SFTP le permite realizar algunos comandos básicos de manipulación de archivos. A continuación se muestran algunos ejemplos de cómo usar el shell SFTP:

  • Obtenga información sobre el uso del disco del sistema remoto:

    df
            Size         Used        Avail       (root)    %Capacity
        20616252      1548776     18002580     19067476           7%
  • Cree un nuevo directorio en el servidor remoto:

    mkdir directory_name
  • Cambiar el nombre de un archivo en el servidor remoto:

    rename file_name new_file_name
  • Eliminar un archivo en el servidor remoto:

    rm file_name
  • Eliminar un directorio en el servidor remoto:

    rmdir directory_name
  • Cambiar los permisos de un archivo en el sistema remoto:

    chmod 644 file_name
  • Cambiar el propietario de un archivo en el sistema remoto:

    chown user_id file_name

    Debe proporcionar la ID de usuario al chown y chgrp comandos.

  • Cambie el propietario del grupo de un archivo remoto con:

    chgrp group_id file_name

Una vez que haya terminado con su trabajo, cierre la conexión escribiendo bye o quit .

Conclusión #

En este tutorial, le mostramos cómo usar el sftp comando para descargar y cargar archivos a su servidor SFTP remoto.

También puede configurar una autenticación basada en clave SSH y conectarse a sus servidores Linux sin ingresar una contraseña. Si se conecta regularmente a los mismos sistemas, puede simplificar su flujo de trabajo definiendo todas sus conexiones en el archivo de configuración de SSH.

Siéntase libre de dejar un comentario si tiene alguna pregunta o comentario.


Linux
  1. Cómo usar el comando Su en Linux

  2. Cómo usar el comando SFTP para la transferencia segura de archivos

  3. Comando SCP Linux:cómo transferir archivos SSH de remoto a local

  4. Cómo usar Netcat para transferir archivos en Linux

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

Cómo usar el comando FTP de Linux para transferir archivos

Cómo usar el comando SCP para transferir archivos de forma segura

Cómo usar el comando SCP para transferir archivos

Cómo usar el comando PS

Cómo usar el comando SUPERIOR

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