Copiar archivos a través de SSH con SCP

SCP hace uso de SSH (Secure Shell) para hacer copias seguras y encriptadas.

Copiar archivos a través de SSH con SCP

Como administrador de un servidor Linux, hay momentos en los que tengo que copiar a dicho servidor un archivo que tengo en mi ordenador. Hay varias opciones para hacer esto. La primera es abrir un cliente FTP como puede ser Filezilla. La segunda es copiar los archivos por consola haciendo uso del comando SCP (Secure Copy). No me olvido de los usuarios de Mac, que pueden usar SCP igual que en Linux y, tampoco de los de Windows, que mediante WinSCP pueden hacer lo mismo.

SCP hace uso de SSH (Secure Shell) para hacer copias seguras y encriptadas. Personalmente, me gusta mucho la consola cuando tengo claro lo que quiero hacer. Por ejemplo, para subir una carpeta al servidor de Geeky, con un comando me basta y no necesito abrir Filezilla.

Uso de SCP

Tenemos que tener claros los parámetros de los que consta la instrucción:

  • Usuario: el nombre de usuario que utilicemos en el servidor.
  • Host: dirección IP o dominio del servidor remoto.
  • Archivo origen: ruta del archivo que queremos copiar.
  • Directorio origen: ruta del directorio completo que queremos copiar.
  • Directorio destino: ruta donde queremos copiar el archivo.
COPIAR ARCHIVOS DE LOCAL A SERVIDOR

Si queremos subir el archivo archivo.txt de nuestro ordenador a la carpeta /home/usuario del servidor, hacemos lo siguiente:

$ scp archivo.txt usuario@dominio.com:/home/usuario
COPIAR ARCHIVOS DE SERVIDOR A LOCAL

Si queremos copiar el fichero archivo.txt del servidor a nuestro ordenador en la carpeta Documentos, hacemos lo siguiente:

$ scp usuario@dominio.com:/home/usuario/archivo.txt Documentos
COPIAR ARCHIVOS DE SERVIDOR A SERVIDOR

Para copiar un archivo de un servidor a otro, hacemos lo siguiente:

$ scp usuario1@dominio1.com:/home/usuario1/archivo.txt usuario2@dominio2.com:/home/usuario2/
COPIAR UN DIRECTORIO COMPLETO

Para copiar un directorio completo de mi ordenador al servidor, por ejemplo /home/mario/carpeta a /home/usuario, añadimos un -r en el comando:

$ scp -r /home/mario/carpeta usuario@dominio.com:/home/usuario
LIMITAR EL ANCHO DE BANDA

Para no sobrecargar demasiado el servidor, es posible limitar el ancho de banda de la transferencia. Con el parámetro -l podemos indicar la velocidad (en Kbps).

$ scp -l limite usuario@dominio.com:/home/usuario/archivo.txt Documentos

Conclusiones

Utilizo bastante este comando y es muy útil. Ayuda a hacer copias rápidamente y desde la consola, sin tener que abrir ningún programa. Os recomiendo que lo uséis si trabajáis con servidores externos o incluso con la Raspberry Pi que tengáis en casa.

Seguiré escribiendo artículos sobre comandos Linux que considero importantes para gestionar mejor nuestro sistema, así que si tenéis alguna sugerencia, dejad un comentario.

¿Quieres saber más sobre Linux? ¡En este enlace puedes obtener más información!

¡Saludos!

 

Deja un comentario


11 comentarios


uber · Hace 2 meses

Justo lo que estaba buscando

Ale · Hace 3 meses

gracias!

cuetox · Hace 5 meses

gracias

Angie Gonzalez · Hace 6 meses

Te agradezco muchísimo, ha sido la única forma de transferir archivos que me ha servido.

Kevin Enriquez · Hace 10 meses

Buen dia, como puedo subir desde local un mismo y unico archivo a multiples directorios en el servidoro $ scp archivo.txt usuario@dominio.com:/home/usuario, con esta subo a una ubicacion /home/usuario y si quisiera el mismo archivo en /home/usuario/otro, /home/usuario/direcotio

junior · Hace 1 año

Amigo una vez que uno envia o recibe un archivo plano con sftp el archivo queda encriptado?

Copiar ficheros entre servidores con SCP – Itimag.com · Hace 1 año

[…] Fuente: https://geekytheory.com/copiar-archivos-a-traves-de-ssh-con-scp/ […]

hookability · Hace 2 años

Como puedo resolverlo si tengo que usar un puerto especifico de ssh?

Noel · Hace 7 meses

Para especificar el puerto en tu conexión SSH debes utilizar el parámetro -P (Si, p mayúscula). Ej: scp -P 3343 usuario@111.111.11.11:/home/admin/test/geektheroy/app/Controller/MyController.php Desktop Saludos!

luis fernando · Hace 2 años

una pregunta en el dominio que biene siendo por que ami me aparce de esta manera root@luisfernando: que bendria siendo mi dominio

fernando villacres · Hace 11 meses

Vendria ser tu IP del Servidor

Jaxu · Hace 2 años

Hola: No tengo ni idea del tema del terminal de mac, pero sí quisiera saber como se hace una copia del mismo para guardarla, por si acaso. Saludos.

pxkdk · Hace 2 años

Te recomiendo utilizar "rsync" es un poco más complejo pero a la larga sale mejor, por si hubiera cortes mientras se realiza la copia; no siendo necesario lanzar la copia del fichero/directorio desde el principio. Un saludo,

root · Hace 1 año

siempre llega un aweonado hablado otra cosa que no vienen al caso

Root · Hace 9 meses

Jajajajajajaja