Comando SCP LinuxComando SCP Linux

En el siguiente articulo vamos a explicar un comando bastante útil que podemos utilizar en Linux (Ubuntu, Debian, Red Hat, CentOS, Fedora …) a la hora de compartir/copiar ficheros entre equipos mediante SSH. El comando en cuestión es el llamado: scp de Linux.

Si queremos transferir un archivo dentro de una misma red de un equipo a otro, podemos utilizar el comando SCP (Secure Copy Protocol) de Linux entre otras de las muchas alternativas que hay para copiar los archivos a otro host sin eliminarlos en el origen y de forma segura, puesto que trabaja bajo el protocolo ssh (Secure SHell).

Tenemos diferentes casos para pasar un archivo de una ubicación a otra:

1 – Archivo local a dirección remota

En este caso vamos a copiar un fichero desde nuestra maquina local a una máquina remota.

scp directorio_origen/nombre_archivo usuario@ip_destino:directorio_destino

scp ubicados en el equipo origen

En el ejemplo siguiente vemos como el fichero que enviamos tiene el nombre fichero_de_prueba.zip por lo que el comando seria el siguiente:

scp /home/ubuntu1-blogdelbit/fichero_de_prueba.zip ubuntu2-blogdelbit@192.168.1.198:/home/ubuntu2-blogdelbit

  • /home/ubuntu1-blogdelbit/fichero_de_prueba – ubicación del archivo
  • ubuntu2-blogdelbit@192.168.1.198:/home/ubuntu2-blogdelbit – nombre, ip y directorio destino

Nos pedirá aceptar la conexión (yes) y a continuación la contraseña de la maquina destino. Esperamos que se envié el fichero y listo.

Por defecto scp trabaja en el puerto 22 puesto que utiliza el protocolo SSH mencionado al principio del articulo. Si queremos cambiarlo tendremos que usar la opción -P por lo que sea quedaría de la siguiente manera:

scp -P 2233 /home/ubuntu1-blogdelbit/fichero_de_prueba.zip ubuntu2-blogdelbit@192.168.1.198:/home/ubuntu2-blogdelbit

Si en lugar de subir un archivo .zip como es el caso, queremos subir una directorio que tiene mas ficheros/directorios dentro ejecutaremos el comando con la opción -r por lo que se quedaría de la siguiente manera:

scp -r 2233 /home/ubuntu1-blogdelbit/carpeta_de_prueba ubuntu2-blogdelbit@192.168.1.198:/home/ubuntu2-blogdelbit

2 – Archivo remoto a máquina local

En este caso estamos ubicados en el equipo destino donde queremos tener el fichero y llamamos por así decirlo a la maquina remota para que nos lo traiga.

scp usuario@ip_origen:directorio/nombre_archivo directorio_destino

scp ubicados en el equipo destino

A continuación observamos como «traemos» el fichero de la maquina remota a la maquina local.

Igual que antes nos pedirá la contraseña de la maquina destino (ubuntu1-blogdelbit) para procesar la solicitud.

  • ubuntu1-blogdelbit@192.168.1.145:/home/ubuntu1-blogdelbit/fichero_de_prueba.zip – usuario, ip, carpeta y archivo remoto
  • /home/ubuntu2-blogdelbit – directorio destino local

Las opciones anteriores (-P y –r) también podemos aplicarlas para esta forma de transferencia.

3 – Archivo remoto a ubicación remota

En la última opción veremos como transferir un fichero de un equipo remoto a otro también remoto, es decir, sin estar conectados a ninguna de estas dos máquinas. Lo haremos con el siguiente comando:

scp usuario_origen@ip_origen:directorio/nombre_archivo usuario_destino@ip_destino:directorio_destino

scp ubicados fuera del equipo origen y destino

** IMPORTANTE: En esta opción tenemos que asegurarnos que el directorio destino este creado (mkdir directorio_destino), en caso contrario es muy probable que nos de error **

Por Jorge Garcia Garcia

Buenas a todos, mi nombre es Jorge y actualmente trabajo como ingeniero software en un proyecto de tráfico aéreo. Además, estoy cursando el grado de Ingeniería de Computadores en la Universidad de Alcalá de Henares. Termine el grado superior de Administración de Sistemas y como siempre me ha apasionado en tema de la Informática decidí hacer la carrera. Actualmente tengo unos conocimientos bastante amplios respecto a configuración de servidores y creación de páginas web y mi idea es compartir todo con vosotros para que también aprendáis.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *