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.
2378 suscriptores. ¡
20 sep 2008 a las 10:01
Hola, no se mucho acerca de protocolos y nunca he usado ftp’s, me gustaria hacerte una pregunta.
Tengo un amigo en Berlin y yo estoy en Madrid, me gustaria poder compartir Música y pelis con el, este protocolo me podría ayudar?
O hay alguna forma mejor o mas rápida para compartir archivos?
Gracias de antemano, y enhorabuena por el blog, lo sigo desde hace bastante tiempo.
20 sep 2008 a las 10:01
Se me olvido decir, que el todavia esta en el lado oscuro de la fuerza, utiliza windows, mientras que yo, utilizo ubuntu.
20 sep 2008 a las 18:20
Yo uso un primo lejano de sftp, es sshfs, pruebalo ;)
21 sep 2008 a las 17:54
Alquilate un servidor en http://www.linode.com y levanta ahi.. por cierto, bastante doomie el articulo
21 sep 2008 a las 19:12
No creo que la intención del artículo sea explayarse demasiado sobre el tema. A mi me resulto interesante.
21 sep 2008 a las 19:36
que se puede pedir… :), vi mas en el sitio y vi que es un ubuntu user (windowxero arrepentido), freebsd rules
24 sep 2008 a las 5:14
Muy bueno, saludos..
17 oct 2008 a las 22:14
A ver si alguien sabe como se resuelve esto:
Cuando intento copiar los ficheros + directorios, se convierte en un LOOP, esto significa que si hay algun “atajo” en mis directorios, no termina de copiar los ficheros nunca, y no los completa. ¿Me explique bien? ¿Alguien sabe como solucionar esto? Gracias