Servidores

Copiar archivos con SCP – Tutorial con ejemplos

En este post te mostraré un ejemplo sencillo sobre cómo usar scp para copiar archivos entre dos computadoras, ya sea que copiemos desde A hacia B o desde B hacia A.

scp significa secure copy y, aunque suene redundante, copia archivos de manera segura, algo así como ssh.

Voy a explicar todo con ejemplos.

SCP

Para ejemplificar usaré mi computadora con Windows y mi Raspberry Pi 4. En la vida real podrían ser dos servidores separados geográficamente, una máquina virtual, etcétera.

Llamaremos a mi computadora con Windows cliente, y a la Pi servidor. Vamos a ver cómo copiar de cliente a servidor, y de servidor a cliente.

Vamos a ejecutar todos los comandos desde el cliente, incluso para copiar un archivo hacia el servidor.

Sintaxis de scp

La sintaxis es:

scp origen destino

Cuando el origen o destino son algo remoto, indicamos el usuario y la ip a la que hay que conectarse. Suponiendo que copiamos desde un host remoto sería:

scp usuario@ip:ruta_del_archivo destino

Con los ejemplos quedará mejor explicado. Por favor nota que los dos puntos (:) separan al usuario con host, de la ruta.

Copiar de cliente a servidor

Ejecutamos:

scp escribir_contenido.py pi@192.168.1.79:/home/pi/

El origen es escribir_contenido.py, aquí podría igualmente ser la ruta absoluta de un archivo.

El destino es /home/pi/ dentro del servidor con la ip 192.168.1.79, por ahora nos estamos conectando como el usuario pi. Al conectarnos se nos pedirá la contraseña:

Usar scp para subir un archivo

Así que básicamente estamos subiendo o enviando un archivo. Si en el servidor listamos el contenido veremos el archivo que subimos:

Verificar copia de archivo en servidor

Usar scp para copiar de servidor a cliente

Veamos el proceso inverso; ahora vamos a descargar un archivo. Recuerda que esto igualmente lo haremos dentro del cliente.

Primero, en el servidor, observamos el archivo que vamos a copiar y vemos su ruta:

Archivo que se va a descargar del servidor

La ruta absoluta es /home/pi/k.png así que ejecutamos:

scp pi@192.168.1.79:/home/pi/k.png C:\Users\usuario\Desktop\

Ahora el origen es el servidor remoto, y el destino una ruta local. Al ejecutar, la imagen llamada k.png estará en mi escritorio:

Descargar archivo con scp

Copiar directorio completo

También puedes copiar una carpeta completa. En ese caso la sintaxis es:

scp -r directorio_local usuario@host:/home/parzibyte

Por ejemplo:

scp -r dist usuario@host:/home/parzibyte

Va a copiar la carpeta dist y todo su contenido en /home/parzibyte, creando la carpeta dist en /home/parzibyte. Si quisieras copiar todo el contenido, recomiendo copiar toda la carpeta y luego con SSH mover el contenido situándote en la carpeta y ejecutando mv dist/* .

Conclusión

Así es como puedes usar scp para copiar archivos entre servidores. En este caso copié de Windows hacia Linux, pero podría ser igualmente de Linux a Linux.

Si quieres, puedes leer más sobre Linux en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

5 horas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

7 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

7 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

7 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

7 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

7 días hace

Esta web usa cookies.