Copiar archivos con scp a través de ssh
Tabla de contenido:
- Antes de que empieces
- Establecer una conexión SFTP
- Comandos SFTP
- Navegando con SFTP
- Transferencia de archivos con SFTP
- Descargar archivos con el comando SFTP
- Carga de archivos con el comando SFTP
- Manipulaciones de archivos con SFTP
- Conclusión
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
:
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:
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
ychgrp
.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 sftpCómo usar la aplicación xiaomi shareme para transferir archivos y datos en Android
¿Estás buscando compartir archivos entre dos teléfonos Android? Eche un vistazo a este artículo para descubrir cómo usar la aplicación ShareMe (MI Drop) de Xiaomi para transferir archivos en Android.
Cómo usar el comando linux ftp para transferir archivos
FTP (Protocolo de transferencia de archivos) es un protocolo de red estándar utilizado para transferir archivos hacia y desde una red remota. En este tutorial, le mostraremos cómo usar el comando linux ftp a través de ejemplos prácticos.
Cómo usar el comando scp para transferir archivos de forma segura
En este tutorial, le mostraremos cómo usar el comando scp a través de ejemplos prácticos y explicaciones detalladas de las opciones scp más comunes.