Esto es un artículo de ayuda en Servidores

Como usar SFTP para transferir archivos desde Servidor Remoto


SFTP es un protocolo de transferencia de archivos que utiliza SSH para asegurar los comandos y los datos que se transfieren entre el cliente y el servidor. Los datos transferidos con FTP estándar no están cifrados, lo que los hace vulnerables a escuchas furtivas, interferencias o falsificaciones.

En casi todos los casos, SFTP es preferible a FTP, debido a sus características de seguridad latentes y capacidad para acoplarse a una conexión SSH.

FTP es un protocolo inseguro (no encriptado) que sólo debe utilizarse en casos limitados o en redes de confianza.

  1. Conectar por SFTP

    De forma predeterminada, SFTP utiliza el protocolo SSH para autenticar y establecer una conexión segura. Debido a esto, los mismos métodos de autenticación están disponibles que están presentes en SSH.

    Si se puede conectar a la máquina mediante SSH, generalmente podrá utilizar SFTP para gestionar archivos.

    Prueba de acceso SSH con el comando siguiente:

    ssh username@remote_hostname_or_IP

    Si le funciona, puede salir escribiendo:

    exit

    Podemos establecer una conexión SSH a continuación, abra una sesión de SFTP usando esa conexión emitiendo el comando siguiente:

    sftp username@remote_hostname_or_IP

    Si se conecta remotamente, yel indicador cambiará a un símbolo del SFTP.

     


  2. Navegando con SFTP

    En primer lugar, vamos a orientarnos por averiguar qué directorio estamos en este momento en el sistema remoto:

    pwd

    Remote working directory: /home/demouser

    Podemos ver el contenido del directorio actual del sistema remoto con otro familiar comando:

    ls

    Podemos acceder a otro directorio con el comando:

    cd

    Y también ir un pasado atras con el clásico:

    cd ..


  3. Transferencia de archivos con SFTP

    Transferencia de archivos remoto al sistema local

    Si quisiéramos descargar del servidor remoto un archivo al folder desde el cual nos conectamos por SFTP ejecutamos el siguiente comando:

    get remoteFile

    El comando "get" también tiene algunos indicadores de opción. Por ejemplo, podemos copiar un directorio y todo su contenido especificando la opción recursiva:

    get -r someDirectory

    Podemos decir SFTP para mantener los permisos apropiados y los tiempos de acceso mediante el uso de la "-P" o la bandera "-p":

    get -Pr someDirectory


  4. Transferencia de archivos local al sistema remoto

    La transferencia de archivos con el sistema remoto se lleva a cabo con la misma facilidad, pero con el comando apropiado de nombre "put":

    put localFile

    Las mismas funciones que trabajan con "get" se aplican a "put". Así que para copiar un directorio local entero, podemos usar:

    put -r localDirectory


  5. Revisar espacio disponible

    Una herramienta familiar que es útil cuando descargar y cargar archivos es el comando "df", el cual funciona de forma similar a la versión de línea de comandos. El uso de este es para revisar si hay suficiente espacio para completar las transferencias:

    df -h

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda4              40G  1.8G   36G   5% /
    tmpfs                  16G     0   16G   0% /dev/shm
    /dev/sda7             2.2T  797G  1.3T  39% /home
    /dev/sda5              15G  170M   14G   2% /tmp
    /dev/sda3              60G   12G   45G  22% /usr
    /dev/sda2             197G   33G  155G  18% /var


  6. Como salir de SFTP

    Para cerrar la sesión de SFTP, escriba:

    exit


Aunque SFTP es una herramienta simple, es muy útil para la administración de servidores y la transferencia de archivos entre ellos.

Si está acostumbrado a utilizar FTP o SCP para lograr sus transferencias, SFTP es una buena manera de aprovechar las fortalezas de ambos. Si bien no es apropiado para cada situación, es una herramienta flexible para tener como opción de respaldo.

Otras respuestas relacionadas

Eliminar SSH Known Host en Mac OS X

Ver respuesta

Como cambiar los permisos de propietario sobre un archivo en un servidor de Linux

Ver respuesta

Como copiar y mover archivos por SSH

Ver respuesta

Como exportar carpetas y archivos de un archivo comprimido

Ver respuesta

Eliminar todos los emails en queue lista de espera de EXIM

Ver respuesta

Restarting dbus daemon via Command Line

Ver respuesta