Pasar archivos entre servidores linux
Secure Copy o SCP es un medio de transferencia segura de archivos entre un host local y un servidor remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH). Al usar el mismo protocolo de transferencia y conexión que ssh, es una modo de transferencia bastante seguro que se suele usar en sistemas automáticos de backup.
Al igual que ssh, scp nos pedirá autenticación para acceder a la máquina. También se puede crear el par de claves, publica y privada para que el proceso de autenticación sea automático, es decir, que no nos solicite el password. Especificando en el archivo authorized_keys del servidor remoto la clave publica del servidor local.
A continuación indico un par de ejemplos para copiar archivos entre varios servidores, primero copiando archivos de un servidor remoto a nuestro ordenador local y copiando un archivo de nuestro ordenador o servidor local a un servidor remoto.
Copiar archivos de un servidor remoto a local
1
scp -pr USUARIO@IP_SERVER_REMOTO:/path/server/remoto /path/server/local
Modificadores: -p Mantiene los registros de fecha de creación y última modificación, así como los permisos. -r Copia recursivamente los directorios enteros. -P numero de puerto, en caso que use un puerto diferente al de por defecto, 22. Ejemplo -P 45459. Habría que poner este modificador antes de indicar el usuario y la ip. Ejemplo:
1
scp -P 45459 -pr USUARIO@IP_SERVER_REMOTO:/path/server/remoto /path/server/local
Nota: el puerto 45459, es un puerto aleatorio que estoy usando para este ejemplo.
Copiar un archivo del servidor local a un servidor remoto
El comando scp también se puede utilizar para copiar archivos de nuestro servidor local a un servidor remoto. Tan sólo hay que especificar antes del usuario y el host remoto, el path del archivo o directorio que queremos copiar. En el siguiente ejemplo, voy a copiar mi clave publica a el servidor remoto.
1
scp /home/pedro/.ssh/id_rsa.pub USUARIO@IP_SERVER_REMOTO:/home/pedro/clave_publica.txt
Como en el caso anterior, también se puede poner el modificador -P justo después de escribir el comando scp para indicar que se conecte por otro puerto diferente al predeterminado.
1
scp -P 45459 /home/pedro/.ssh/id_rsa.pub USUARIO@IP_SERVER_REMOTO:/home/pedro/clave_publica.txt