Copiar archivos con scp a través de ssh
Tabla de contenido:
- Sintaxis del comando SCP
- Antes de que empieces
- Copie archivos y directorios entre dos sistemas con
scp
- Copie un archivo local a un sistema remoto con el comando
scp
- Copie un archivo remoto a un sistema local utilizando el comando
scp
ommand - Copie un archivo entre dos sistemas remotos utilizando el comando
scp
- Conclusión
SCP (copia segura) es una utilidad de línea de comandos que le permite copiar de manera segura archivos y directorios entre dos ubicaciones.
Con
scp
, puede copiar un archivo o directorio:
- Desde su sistema local a un sistema remoto. Desde un sistema remoto a su sistema local. Entre dos sistemas remotos de su sistema local.
Al transferir datos con
scp
, tanto los archivos como la contraseña están encriptados, para que cualquiera que espíe el tráfico no tenga nada sensible.
En este tutorial, le mostraremos cómo usar el comando
scp
través de ejemplos prácticos y explicaciones detalladas de las opciones scp más comunes.
Sintaxis del comando SCP
Antes de comenzar a usar el comando
scp
, comencemos por revisar la sintaxis básica.
La sintaxis del comando
scp
toma la siguiente forma:
scp SRC_HOST:]file1 DEST_HOST:]file2
-
OPTION
: opciones scp como cifrado, configuración ssh, puerto ssh, límite, copia recursiva… etc.SRC_HOST:]file1
- Archivo fuente.DEST_HOST:]file2
- Archivo de destino
Los archivos locales deben especificarse utilizando una ruta absoluta o relativa, mientras que los nombres de archivos remotos deben incluir una especificación de usuario y host.
scp
proporciona una serie de opciones que controlan cada aspecto de su comportamiento. Las opciones más utilizadas son:
-
-P
Especifica el puerto ssh del host remoto.-p
Conserva la modificación de archivos y los tiempos de acceso.-q
Use esta opción si desea suprimir el medidor de progreso y los mensajes sin error.-C
. Esta opción obligará ascp
a comprimir los datos a medida que se envían a la máquina de destino.-r
Esta opción le indicará ascp
que copie directorios de forma recursiva.
Antes de que empieces
El comando
scp
basa en
ssh
para la transferencia de datos, por lo que requiere una clave o contraseña ssh para autenticarse en los sistemas remotos.
Los dos puntos (
scp
es cómo
scp
distingue entre ubicaciones locales y remotas.
Para poder copiar archivos, debe tener al menos permisos de lectura en el archivo de origen y permiso de escritura en el sistema de destino.
Tenga cuidado al copiar archivos que comparten el mismo nombre y ubicación en ambos sistemas,
scp
sobrescribirá los archivos sin previo aviso.
Al transferir archivos grandes, se recomienda ejecutar el comando
scp
dentro de una sesión de pantalla o tmux.
Copie archivos y directorios entre dos sistemas con
scp
Copie un archivo local a un sistema remoto con el comando
scp
Para copiar un archivo de un sistema local a un sistema remoto, ejecute el siguiente comando:
scp file.txt [email protected]:/remote/directory
Donde,
file.txt
es el nombre del archivo que queremos copiar,
remote_username
es el usuario en el servidor remoto,
10.10.0.2
es la dirección IP del servidor. El
/remote/directory
es la ruta al directorio en el que desea copiar el archivo. Si no especifica un directorio remoto, el archivo se copiará en el directorio de inicio del usuario remoto.
Se le pedirá que ingrese la contraseña de usuario y comenzará el proceso de transferencia.
[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00
Omitir el nombre del archivo desde la ubicación de destino copia el archivo con el nombre original. Si desea guardar el archivo con un nombre diferente, debe especificar el nuevo nombre del archivo:
scp file.txt [email protected]:/remote/directory/newfilename.txt
Si SSH en el host remoto está escuchando en un puerto que no sea el predeterminado 22, puede especificar el puerto usando el argumento
-P
:
scp -P 2322 file.txt [email protected]:/remote/directory
El comando para copiar un directorio es muy similar a cuando se copian archivos. La única diferencia es que necesita usar el indicador
-r
para recursivo.
Para copiar un directorio de un sistema local a remoto, use la opción
-r
:
scp -r /local/directory [email protected]:/remote/directory
Copie un archivo remoto a un sistema local utilizando el comando
scp
ommand
Para copiar un archivo de un sistema remoto a un sistema local, use la ubicación remota como origen y la ubicación local como destino.
Por ejemplo, para copiar un archivo llamado
file.txt
desde un servidor remoto con IP
10.10.0.2
ejecute el siguiente comando:
scp [email protected]:/remote/file.txt /local/directory
Copie un archivo entre dos sistemas remotos utilizando el comando
scp
A diferencia de
rsync
, cuando usa
scp
no tiene que iniciar sesión en uno de los servidores para transferir archivos de una máquina remota a otra.
El siguiente comando copiará el archivo
/files/file.txt
desde el host remoto
host1.com
al directorio
/files
en el host remoto
host2.com
.
scp [email protected]:/files/file.txt [email protected]:/files
Se le pedirá que ingrese las contraseñas para ambas cuentas remotas. Los datos se transferirán directamente de un host remoto a otro.
Para enrutar el tráfico a través de la máquina en la que se emite el comando, use la opción
-3
:
scp -3 [email protected]:/files/file.txt [email protected]:/files
Conclusión
En este tutorial, aprendió a usar el comando
scp
para copiar archivos y directorios.
También es posible que desee configurar una autenticación basada en claves SSH y conectarse a sus servidores Linux sin ingresar una contraseña.
terminal scpRevisión: SDelete borra archivos de forma segura de la línea de comando
Si escribe ocasionalmente una secuencia de comandos por lotes o abre una terminal cmd.exe para hacer las cosas, SDelete de Microsoft es una gran herramienta para tener en su camino. Esta utilidad de línea de comandos gratuita elimina los archivos de forma segura.
Cómo usar el comando linux ftp para transferir archivos
FTP (Protocolo de transferencia de archivos) es un protocolo de red estándar utilizado para transferir archivos hacia y desde una red remota. En este tutorial, le mostraremos cómo usar el comando linux ftp a través de ejemplos prácticos.
Cómo usar el comando linux sftp para transferir archivos
SFTP (SSH File Transfer Protocol) es un protocolo de archivo seguro utilizado para acceder, administrar y transferir archivos a través de un transporte SSH encriptado. En este tutorial, le mostraremos cómo usar el comando `sftp` de Linux.