GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo usar SFTP para transferir archivos

Introducción

SFTP (Protocolo de transferencia segura de archivos) se incluye junto con SSH como una forma segura de transferir archivos entre sistemas remotos. También permite a los usuarios realizar tareas administrativas básicas en servidores remotos, como administrar archivos y directorios y configurar permisos de archivos.

En este tutorial, le mostraremos cómo usar SFTP para transferir archivos entre un sistema local y uno remoto usando la interfaz de terminal.

Requisitos previos

  • Acceso a un sistema local y a un servidor remoto, conectados mediante un par de claves públicas SSH.
  • Una conexión a Internet que funcione.
  • Acceso a la ventana de terminal.

Cómo conectarse mediante SFTP

SFTP establece una conexión segura entre sistemas utilizando el protocolo de red SSH. Esto le permite conectarse a cualquier sistema que tenga una copia de su clave SSH pública.

La conexión a otro sistema mediante SFTP sigue la misma sintaxis de comandos que la conexión mediante SSH. El comando requiere que proporcione un nombre de usuario y un nombre de host remoto o una dirección IP para el sistema al que desea acceder:

sftp [username]@[remote hostname or IP address]

En el siguiente ejemplo, nos estamos conectando a un sistema con la dirección IP 192.168.100.5 usando el phoenixnap nombre de usuario:

sftp [email protected]

Para finalizar una conexión actual, use:

exit

Cómo transferir archivos mediante SFTP

El uso de SFTP le permite transferir archivos desde un servidor remoto a un sistema local y viceversa.

Transferir archivos remotos a un sistema local

Usa el get comando en la interfaz SFTP para transferir un archivo desde un servidor remoto a su sistema local:

get [path to file]

Por ejemplo, para transferir un archivo llamado example_document.txt desde el Inicio del sistema remoto directorio al sistema local, use:

get example_document.txt

De forma predeterminada, SFTP transfiere archivos al Inicio del sistema local. directorio. Para transferir archivos a un directorio diferente, agregue la ruta al directorio al final de get comando:

get example_document.txt Downloads

Para cambiar el nombre de archivo en el sistema local, agregue el nuevo nombre de archivo al final de get dominio.

get example_document.txt sample01.txt

En el ejemplo anterior, get el comando obtiene el example_document.txt y lo guarda como sample01.txt en el sistema local.

SFTP también permite la transferencia de un directorio completo desde el sistema remoto usando -r bandera, que indica una transferencia recursiva de todos los archivos en el directorio:

get -r Example_Directory

Agrega el -P marcar a get comando para transferir el archivo o directorio conservando los permisos y tiempos de acceso:

get -Pr Example_Directory

Usa el ls comando para verificar la transferencia al sistema local:

ls -l

Transferir archivos locales a un servidor remoto

Para transferir archivos desde un sistema local a un servidor remoto, use el put dominio. El put El comando usa la misma sintaxis y opciones que get comando.

put [path to file]

Por ejemplo, para transferir un example01.txt archivo al servidor remoto, use:

put example01.txt

Para transferir el archivo a un directorio específico en el servidor remoto, agregue la ruta al directorio al final de put comando.

put example01.txt Example_Directory

Agregar un nuevo nombre de archivo al final de put El comando cambia el nombre del archivo transferido en el servidor remoto.

put example01.txt text_sample.txt

Transferir un directorio completo requiere -r bandera.

put -r Test_Directory

Agrega el -P marca al put comando para conservar los permisos de archivos:

put -Pr Test_Directory

Verifique la transferencia de archivos usando ls comando en el sistema remoto:

Mantenimiento de archivos usando SFTP

SFTP admite el mantenimiento básico de archivos. Por ejemplo, use SFTP para modificar los permisos de archivos y directorios en un sistema remoto.

El chown El comando cambia la propiedad del archivo de forma similar al comando chmod:

chown [user ID] [path to file]

A diferencia del chmod comando, chown acepta identificaciones de usuario solamente y no nombres de usuario. Encontrar los UID para el servidor remoto mediante la interfaz SFTP requiere que transfiera y acceda a /etc/passwd archivo:

get /etc/passwd
!less passwd

El UID de cada usuario se puede encontrar en la tercera columna, separados por dos puntos:

El chmod El comando funciona igual que en el shell estándar:

chmod [permission] [path to file]

Otra opción es cambiar la propiedad del archivo de grupo con chgrp comando:

chgrp [group ID] [path to file]

Al igual que con los UID, los ID de grupo se encuentran en la tercera columna de /etc/group archivo en el servidor remoto:

get /etc/group
!less group

SFTP le permite configurar un umask local, que cambia el permiso de archivo predeterminado para los archivos transferidos al sistema local.

Por ejemplo:

lumask 022

El comando anterior cambia el umask local a 022 . Cada archivo transferido después de configurar este umask ahora tiene el 644 permiso por defecto. Todavía puede conservar el permiso original usando -p bandera.

Otra forma de cambiar los permisos de archivos locales es usar SFTP para replicar el comportamiento de los comandos de shell. Para hacer esto, agregue un signo de exclamación (! ) antes del nombre del comando.

Por ejemplo, usando chmod comando en el sistema local:

!chmod [permission] [path to file]

Ubuntu
  1. Uso del protocolo SFTP para transferir archivos entre máquinas locales y remotas

  2. ¿Cómo conectar un Nexus 7 para transferir archivos?

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

  4. Cómo transferir archivos en Linux con SCP y Rsync

  5. Cómo transferir archivos de forma segura usando sftp (ejemplos incluidos)

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 SFTP para transferir archivos

Cómo usar el comando SCP para transferir archivos

Cómo usar Bluetooth en Ubuntu para la transferencia de archivos

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