En este tutorial explicaremos cómo usar SCP (Secure Copy) y Rsync, dos comandos que se pueden usar para transferir archivos entre dos máquinas.
Por ejemplo, podemos copiar un archivo o directorio de sistemas locales a remotos o de sistemas remotos a locales.
Al usar scp
para transferir archivos, todo está encriptado para que los detalles confidenciales no estén expuestos.
En este tutorial, damos ejemplos de cómo usar scp
y rsync
comandos para transferir archivos.
SCP (Copia Segura)
scp
copia archivos entre hosts en una red.
Utiliza ssh(1) para la transferencia de datos, utiliza la misma autenticación y proporciona la misma seguridad que ssh(1).
El scp
el comando se basa en ssh
para la transferencia de datos, por lo tanto, requiere una clave ssh o contraseña para autenticarse en los sistemas remotos.
Puede leer más sobre cómo configurar claves ssh.
La sintaxis general y el uso de scp
es:
scp [OPTION] [user@]local:]file1 [user@]remote:]file2
scp
proporciona una serie de opciones que se explican con más detalle.
Transferir archivos de local a remoto con SCP
Para copiar o transferir un archivo desde una máquina local a una máquina remota, ejecute el siguiente comando:
scp image.png [email protected]:/remote/directory
donde:
- imagen.png es el nombre del archivo que queremos transferir de local a remoto,
- nombre_de_usuario_remoto es el usuario en el servidor remoto,
10.10.0.1 es la dirección IP del servidor,- /remoto/directorio es la ruta al directorio en el que queremos copiar el archivo.
Cuando presione Intro, se le pedirá que ingrese la contraseña de usuario remoto y comenzará la transferencia.
Omitir el nombre de archivo de la ubicación de destino copia el archivo con el nombre original. Si desea guardar el archivo con un nombre diferente, debe especificar un nuevo nombre:
Por ejemplo:
scp image1.png [email protected]:/remote/directory/new_image.png
Transferir archivos de remoto a local con SCP
Para transferir un archivo desde una máquina remota a su máquina local, ejecute el siguiente comando:
scp [email protected]:/remote/directory/new_image.png /local/directory
Transferir un directorio recursivamente de local a remoto
Para transferir un directorio y todo su contenido desde una máquina local a un host remoto, use el siguiente comando:
scp -rp sourcedirectory user@dest:/path
NB:Esto crea el directorio fuente dentro de /ruta, por lo que los archivos estarán en /ruta/directoriofuente
Rsync
Me gusta scp
, rsync
se usa para copiar archivos hacia o desde un host remoto, o localmente en el host actual.
rsync
generalmente se usa para transferir archivos grandes.
Transferir un archivo de local a remoto con Rsync
Para copiar un archivo desde su máquina local a un host remoto con rsynch
, ejecuta el siguiente comando
rsync -ave ssh mydirectory [email protected]:/remote/directory/
Conclusión
En este tutorial, aprendiste a usar el scp
y rsync
comando para copiar archivos y directorios entre dos máquinas.