SCP - II y Secure File Transfer Protocol (Protocolo de Transferencia Segura de Ficheros, SFTP)

El protocolo SFTP surge como en el caso de SCP, ante la necesidad de obtener una conexión segura a la hora de transferir ficheros. Similar al FTP (File Transfer Protocol) pero los datos viajan en paquetes cifrados mediante una conexión por SSH (Secure Shell). Por este motivo tambien es conocido como SSH File Transfer Protocol.

Una de las mayores diferencias con SCP es que permite más operaciones, típicas de una conexión por FTP como mover y borrar ficheros, gestionar permisos, listar directorios, etc…

Un error bastante común al utilizar SCP es por ejemplo no especificar el nombre de destino precedido de dos puntos (al menos hay que poner :)

[$] scp m_vision.cpp zero@dominio.es

Y no parece suceder nada, pero en realidad el comando scp actua como el comando cp (copiar) de forma local.

De modo que si listamos el contenido del directorio nos encontramos con que se ha creado un fichero llamado zero@dominio.es que es una copia del que queriamos copiar pero en nuestra maquina.

El programa scp tiene muchas opciones que podemos consultar en el manual.

[$] man scp

Destaca el argumento -r que nos permite copiar de forma recursiva los directorios, es decir, copia el directorio y todo su contenido.

Ejemplo: Tenemos un directorio llamado prueba y dentro de este datos.txt

[$] scp -r prueba zero@dominio.es:prueba

datos.txt 100% 6 0.0KB/s 00:00

¿Cómo lo utilizo SCP?

Existen multitud de programas clientes y servidores que implementan SFTP, ya que su uso se ha ido generalizando con el tiempo.

Veamos sftp de OpenSSH:

sftp usuario@direccion

Ejemplo:

sftp zero@dominio.es

zero@dominio.es’s password: (escribimos nuestra contraseña)

sftp>

Muchos de los comandos dispobibles tienen nombres similares a los de unix:

Sobre directorrio local Sobre directorio remoto Descripción
lls ls Lista el directorio
lcd directorio cd directorio Cambia de directorio
lpwd pwd Muestra en que directorio nos encontramos
lmkdir directorio mkdir directorio Crear directorio
ln fichero_origen enlace_destino Crea un enlace
rename fichero_remoto_viejo fichero_remoto_nuevo Renombra – mueve
rmdir directorio Borra directorio
rm Borra fichero
symlink vieja_ruta_remota nueva_ruta_remota Enlace simbólico Symlink
put fichero_local fichero_remoto Subir fichero
get fichero_remoto fichero_local Descargar fichero
progress Muestra el progreso de la transferencia

chmod nuevos_permisos fichero

Cambia los permisos a un fichero o directorio

chgrp nuevo_grupo fichero

Cambia el grupo a un fichero o directorio
chown nuevo_propietario fichero Cambia el propietario a un fichero o directorio
quit quit Cierra la conexión

Ejemplo:

sftp> ls

especificaciones.tex m_vision.cpp prueba

sftp> pwd

Remote working directory: /home/zero

Hay numerosos clientes con entorno gráfico sobretodo clientes ftp que soportan este protocolo como:

  • gFTP

  • Filezilla

  • Kbear

  • Kftpgrabber

Desde hace ya algunas versiones tanto en Gnome como en KDE viene integrado como un sistema de ficheros virtual.

8 comentarios para SCP - II y Secure File Transfer Protocol (Protocolo de Transferencia Segura de Ficheros, SFTP)

Deja tu comentario

Linux es un sistema operativo ágil.