Androide

Cómo usar el comando linux sftp para transferir archivos

Copiar archivos con scp a través de ssh

Copiar archivos con scp a través de ssh

Tabla de contenido:

Anonim

SFTP (SSH File Transfer Protocol) es un protocolo de archivo seguro utilizado para acceder, administrar y transferir archivos a través de un transporte SSH encriptado.

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

A diferencia del scp command , que solo permite transferencias de archivos, el comando sftp permite realizar una variedad de operaciones en archivos remotos y reanudar las transferencias de archivos.

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

Antes de que empieces

Para poder transferir y administrar 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 pantalla o tmux.

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

Establecer 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.

Aunque la autenticación de contraseña tradicional está configurada de manera predeterminada y es más fácil de usar, si se conecta regularmente a su servidor a través de SSH / SFTP, se recomienda crear claves SSH y configurar un inicio de sesión SFTP sin contraseña.

Para abrir una conexión SFTP a un sistema remoto, use 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

Una vez conectado, se le presentará el mensaje sftp y podrá comenzar a interactuar con la máquina remota:

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 -oPort para especificar el puerto alternativo:

sftp -oPort=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 que usaría en el indicador de shell de Linux.

Puede obtener una lista de todos los comandos SFTP disponibles escribiendo help o ? .

help

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

Navegando con SFTP

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

pwd

Remote working directory: /home/remote_username

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

ls

Para navegar a otro directorio, use el comando cd . Por ejemplo, para cambiar al directorio /tmp , 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 como prefijo la letra l .

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

cd lpwd

Local working directory: /home/local_username

Transferencia de archivos con SFTP

Con SFTP puede transferir archivos de forma segura entre dos máquinas.

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

Una vez que haya iniciado sesión en el servidor remoto, su directorio de trabajo actual es el directorio de inicio del usuario remoto.

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

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

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

get filename.zip local_filename.zip

Para descargar un directorio del sistema remoto, use la opción recursiva -r :

get -r remote_directory

Si una transferencia de archivos falla o se interrumpe, puede reanudarla utilizando el comando reget .

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

reget filename.zip

Carga de archivos con el comando SFTP

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

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 trabaje con put , puede usar 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

Por lo general, para realizar tareas en un servidor remoto, debe conectarse a él a través de SSH y hacer su trabajo utilizando el terminal de 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. 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

    Cambie 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 a los comandos chown y chgrp .

    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 hemos mostrado cómo usar el comando sftp para descargar y cargar archivos a su servidor SFTP remoto.

También es posible que desee configurar una autenticación basada en claves SSH y conectarse a sus servidores Linux sin ingresar una contraseña.

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

terminal sftp