27 de diciembre de 2012

transferir archivos entre computadores usando ssh

encom shell
(Photo credit: darthpedrius)
Transferir archivos es una tarea habitual de cualquier usuario de computadoras, que generalmente la realizamos usando algún cliente FTP, como puede ser FileZilla. Sin embargo, en ocasiones no disponemos de esas facilidades y sólo contamos con una conexión SSH a un servidor remoto determinado.
En esa situación, existe un comando para efectuar la transferencia de archivos desde cualquier punto de la conexión SSH, tanto en la maquina cliente como en el servidor, este comando permite hacer una copia segura de archivos y se llama SCP.

La forma de utilizar el comando SCP es más sencilla que usar los comandos FTP a pelo (asumiendo que disponemos de una cuenta FTP en el servidor).

Transferir archivos usando SCP

La forma de usar el comando SCP será ligeramente distinta, dependiendo desde donde se desee hacer la transferencia. Si deseamos transferir un archivo desde nuestra máquina local hasta nuestro servidor remoto, debemos abrir la terminal de Linux (también se puede hacer en otros sistemas operativos como Microsoft Windows, usando en vez de la terminal, un aplicación cliente SSH, por ejemplo PuTTy):

scp nombre_archivo user@IP_remote_server:/ruta/de/destino/

Al contrario, si desde nuestra terminal nos conectamos al servidor remoto, y deseamos transferir un archivo desde el servidor remoto a nuestra máquina local, entonces sólo necesitamos escribir en nuestra terminal el comando:

scp user@IP_remote_server:/ruta/nombre_archivo /ruta/local/

Transferir directorios completos usando SSH

Es muy simple, para copiar directorios completos, se usa el mismo comando SCP, con la sintaxis:
scp -r nombre_carpeta/ usuario@IP_remote_server:/ruta/

Ahora ya conocemos, como transferir archivos usando el comando scp mediante una conexión ssh.