Cómo usar el comando SFTP para transferir archivos

publicado en: Articles | 0

SFTP (SSH File Transfer Protocol) 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 más fácil de configurar.

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

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

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 el comando sftp dentro de una sesión de screen o tmux.

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

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

establecer una conexión SFTP #

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

para abrir una conexión SFTP a un sistema remoto, utilice el comando sftp 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 conecta al host mediante autenticación con contraseña, se le pedirá que introduzca la contraseña de usuario.,

una vez conectado, se le presentará el símbolo del sistema 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 la opción -P 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 del shell de Linux.

Para obtener una lista de todos los disponibles SFTP comandos, 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 sftpcd path Change remote directory to 'path'......version Show SFTP version!command Execute 'command' in local shell! Escape to local shell? Synonym for help

navegando con SFTP #

Cuando haya iniciado 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 comando ls:

ls

para navegar a otro directorio, utilice el comando cd. Por ejemplo, para cambiar el /tmp directorio escriba:

cd /tmp

Los comandos anteriores se utilizan para desplazarse 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, escriba:

cd lpwd
Local working directory: /home/local_username

Transferencia de Archivos con SFTP #

SFTP le permite transferir archivos entre dos equipos de forma segura.

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

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

descargar archivos con el comando SFTP #

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

get filename.zip

la salida debe ser algo como esto:

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 comando sftp.,

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, utilice la opción recursiva -r:

get -r remote_directory

si una transferencia de archivos falla o se interrumpe, puede reanudarla usando el comando reget.,

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

reget filename.zip

cargar archivos con el comando SFTP #

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

put filename.zip

la salida debería ser algo como esto:

Uploading filename.zip to /home/remote_username/filename.zipfilename.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 utilizar las mismas opciones que están disponibles con el comando get.

para cargar un directorio local, escribiría:

put -r locale_directory

para reanudar una carga interrumpida:

reput filename.zip

manipulaciones de archivos con SFTP #

normalmente, para realizar tareas en un servidor remoto, se conectaría a él a través de SSH y haría su trabajo utilizando el terminal shell. Sin embargo, en algunas situaciones, el usuario puede tener solo acceso SFTP al servidor remoto.,

SFTP le permite realizar algunos comandos básicos de manipulación de archivos.,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

    Usted debe proporcionar el ID de usuario para el chown y chgrp comandos.,

  • Cambiar el grupo propietario de un archivo remoto con:

    chgrp group_id file_name
  • una Vez que haya terminado con su trabajo, cerrar la conexión escribiendo bye o quit.

    conclusión #

    en este tutorial, le hemos mostrado cómo usar el comando sftp 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 SSH .

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *