Copia Segura de un Fichero

Transferencia de Ficheros con scp

El protocolo SCP implementa la transferencia de ficheros. El cliente se conecta a la máquina remota usando SSH y solicita la ejecución de un programa servidor (normalmente el mismo programa cliente scp es capaz de funcionar como servidor).

Para la subida de ficheros el cliente alimenta al servidor con los ficheros que deberán ser cargados, incluyendo opcionalmente los atributos básicos como permisos y fechas.

Para las descargas el cliente envía una solicitud indicando los ficheros y directorios que deben ser descargados.

Veamos un ejemplo:

nereida:~> scp mm.c orion:/tmp/
mm.c
La sintáxis de scp es:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] 
    [-l limit] [-o ssh_option] [-P port] [-S program]
    [[user@]host1:]file1 ... [[user@]host2:]file2
Es posible copiar entre dos máquinas remotas emitiendo la orden desde una tercera máquina:
portatil@user:/tmp$ scp europa:/tmp/prueba.batch nereida:/tmp/prueba.batch
Es posible usar comodines (wildcards), protegiéndolos de la shell local:
portatil@user:/tmp$ scp 'europa:/tmp/*.tex' nereida:/tmp/
Es posible copiar de dos máquinas remotas a una tercera:
pp2@europa:~/Lnet-parscp$ scp orion:Makefile.PL nereida:texput.log beowulf:
pp2@europa:~/Lnet-parscp$ ssh beowulf ls -ltr | tail -2
-rw-r--r--  1 casiano casiano    615 mar 26 13:56 texput.log
-rw-r--r--  1 casiano casiano   1485 mar 26 13:56 Makefile.PL
Hemos copiado desde la máquina orion y desde la máquina nereida diferentes ficheros. La máquina beowulf es la máquina de destino a la que fueron transferidos.

La opción -r permite copiar subdirectorios. La opción -p permite preservar permisos.

Edición de Ficheros Remotos con vim via scp

Un comando como este edita dos ficheros en sendos tabs:

vi -p scp://orion/AUTOMATICBACKUPCHECKOUT /home/casiano/europabackup.log

El primero es un fichero ~/AUTOMATICBACKUPCHECKOUT en una máquina remota con nombre orion. El segundo es un fichero local. El editor vim emite el comando scp apropiado para copiar el fichero remoto en un fichero temporal.

Durantre la edición, cada vez que salve el fichero ~/AUTOMATICBACKUPCHECKOUT de orion, vim tasladará la orden :w en el comando scp adecuado:

:!scp -q '/tmp/v611122/1' 'orion:AUTOMATICBACKUPCHECKOUT'

o bien podemos emitir una orden de edición de un nuevo fichero remoto:

:vsplit scp://casiano@some.machine.com/somefile.txt

Es incluso posible ver los contenidos de un directorio:

:tabedit scp://orion/pp2/



Subsecciones
Casiano Rodriguez León 2015-01-07