Cómo utilizar el comando SFTP para transferir archivos hacia/desde servidores Linux

La mayoría de las personas prefieren utilidades como FileZilla o WinSCP cuando necesitan transferir archivos hacia o desde servidores Linux/BSD. Si OpenSSH se está ejecutando en esta computadora, puede conectarse a través del protocolo Secure / SSH FTP (SFTP). Las utilidades anteriores facilitan la transferencia de archivos al proporcionar una interfaz gráfica, pero debe instalar y configurar estos programas.

Algunos usuarios prefieren no tener que instalar utilidades adicionales. Otros simplemente prefieren la línea de comandos porque le da más control y una forma más rápida de decirle a la herramienta lo que quiere que haga. Pero ahora hay una razón más para recurrir a la línea de comandos cuando desee transferir archivos. Windows 10 comenzó a incluir Cliente OpenSSH por defecto Lo que le permite iniciar sesión en servidores Linux/BSD directamente desde el símbolo del sistema.

Cómo utilizar el comando SFTP para transferir archivos hacia/desde servidores Linux - explicaciones

Este cliente también viene con un montón de otras utilidades, y SFTP se encuentra entre ellas. Por lo tanto, ahora puede transferir archivos a los sistemas operativos Linux/BSD, directamente desde el símbolo del sistema, sin tener que instalar nada en su máquina con Windows.

La utilidad SFTP también está disponible en máquinas Linux y funciona de la misma manera.

Cómo iniciar sesión con el comando sftp

Si está utilizando Windows, abra el símbolo del sistema. Si está utilizando Linux, abra una ventana de Terminal.

Para iniciar sesión en el servidor usando el comando sftp, puede usar exactamente la misma sintaxis que el comando ssh. Si no está familiarizado con esto, lea el tutorial vinculado en el párrafo de introducción.

sftp your_username@IP-address-or-hostname

Comandos de ejemplo:

sftp john@203.0.113.1

sftp john@example.com

Cómo utilizar el comando SFTP para transferir archivos hacia/desde servidores Linux - explicaciones

Cómo descargar archivos después de iniciar sesión con sftp

Ahora puede ingresar comandos en sftp> indicador para interactuar con archivos en el servidor.

Para descargar un archivo:

get /path/to/file/on/server

Por ejemplo:

get /bin/ls

Esto se descargará a su directorio actual, en el que estaba localmente antes de iniciar sesión en el servidor. Para descargar a un directorio local específico (Windows):

get /path/to/file/on/server C:\path\to\local\folder

مثال

get /bin/ls C:\User\John\Desktop

En Linux, solo use rutas de tipo Unix (una barra diagonal en lugar de una barra diagonal inversa):

get /bin/ls /home/john/Desktop
Nota: incluso si usa (incorrectamente) barras diagonales para las rutas de Windows, en sftp, parece que la herramienta las comprenderá.

Las rutas también pueden ser relativas. Esto significa que si estás en C:\Usuario\Juan Ya cuando abre el símbolo del sistema, puede descargarlo en el escritorio (C:\Usuario\John\Escritorio) Con:

get /bin/ls Desktop

Las rutas remotas también pueden ser relativas, lo que significa que si inicia sesión con sftp juan@203.0.113.1 Ya estarás en el directorio.” casa/juan, por lo que puede usar esto para descargar/inicio/juan/archivo'

get file Desktop

Esto descargará "/inicio/juan/archivo" a mi "C:\Usuarios\SuUsuario\Escritorio\archivo."

Para copiar directorios, debe agregar el parámetro -r al comando, lo que indica un iterador.

get -r /bin Desktop\bin
Cómo utilizar el comando SFTP para transferir archivos hacia/desde servidores Linux - explicaciones

Recuerde agregar un nombre para el nuevo directorio que desea crear localmente, como "Escritorio\bin" En este caso. si vas a usar obtener -r /bin Escritorio , los archivos se copiarán directamente en el escritorio. Son los archivos los que se copiaron, no el directorio en sí.

Cómo descargar archivos después de iniciar sesión con sftp

La descarga de archivos o directorios sigue los mismos principios. La única excepción es que las rutas están invertidas, lo que significa que primero especifica el archivo/directorio local y luego la ruta remota.

En Windows:

put C:\path\to\local\content /path/where/to/upload

En Linux:

put /path/to/local/content /path/to/remote/location

Al cargar directorios (copiarlos), recuerde que se aplica la misma regla que en la sección anterior: en realidad son los archivos del directorio los que se copiaron, no el directorio en sí. Por lo tanto, seleccione un nuevo nombre para el directorio al que desea copiar estos archivos.

put -r Desktop/bin bin

Esto creará un nuevo directorio llamado “papeleraEn el otro extremo.

Para salir del shell de sftp, simplemente escriba:

salida

Cómo reanudar la transferencia y usar rutas que contienen espacios

Cuando transfiere un archivo grande, si se interrumpe, puede reanudar el comando reemplazando el comando anterior retribución وolvidar  en vez de poner و obtener. Solo asegúrese de usar las mismas rutas que usó la última vez, para que coincidan exactamente con el origen y el destino.

reget /path/to/file/on/server C:\path\to\local\file

reput C:\path\to\local\file /path/to/file/on/server

Para reanudar las transferencias de directorios, simplemente agregue el parámetro -r.

reput -r Desktop/bin bin

Si la ruta a un archivo contiene espacios, escríbalo entre comillas.

Esto no funcionará:

put C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip

Pero esto funcionará:

put "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"

(Sí, puedes encontrar la banda sonora en The Witcher 3 si la tienes instalada en Steam).

Conclusión

Esto cubre las cosas más importantes que necesita saber sobre sftp. Si encuentra que necesita aprender más, puede seguir leyendo Guía completa de comandos sftp en línea.

fuente
Ir al botón superior