−25%

en Windows con pago anual, hasta el 31/10. Ver planes

EQVPS

Cómo transferir archivos a un VPS: scp, rsync y SFTP

Copia archivos a tu servidor y desde él con scp, sincroniza carpetas grandes con rsync y su reanudación, o usa un cliente SFTP, también en NAT con un puerto SSH propio.

Tarde o temprano hay que subir archivos al servidor: la compilación de una web, un volcado de base de datos, una configuración escrita en local. No necesitas un servidor FTP para eso: SSH ya te da tres buenas herramientas. Todos los ejemplos usan direcciones de documentación; sustitúyelas por las de tu servidor.

Conoce tus datos de conexión

scp: copiar un archivo o una carpeta

Subir un archivo:

scp backup.sql root@203.0.113.10:/root/

Descargar uno:

scp root@203.0.113.10:/var/log/nginx/access.log .

Una carpeta entera:

scp -r ./site root@203.0.113.10:/var/www/

En un plan NAT, añade el puerto con -P mayúscula:

scp -P 20123 backup.sql root@your-nat-host:/root/

rsync: la herramienta adecuada para carpetas

rsync envía solo las diferencias, muestra el progreso y continúa si se corta la conexión. Debe estar instalado en ambos extremos (apt install -y rsync).

rsync -avzP ./site/ root@203.0.113.10:/var/www/site/

Con un puerto SSH personalizado:

rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/

Para que el destino sea un espejo exacto (borrando los archivos que quitaste en local), añade --delete, pero revisa antes lo que hará:

rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/

Ojo con la barra final. ./site/ copia el contenido de site; ./site copia la propia carpeta dentro del destino. Con --delete, esa diferencia decide qué directorio se vacía.

SFTP: interactivo o gráfico

El cliente de línea de comandos funciona como un pequeño gestor de archivos:

sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit

¿Prefieres una interfaz gráfica? FileZilla, WinSCP o Cyberduck se conectan con los mismos datos: protocolo SFTP, tu host, puerto 22 (o tu puerto NAT), usuario root y tu clave SSH o contraseña.

Más rápido con claves SSH

Todas estas herramientas usan SSH, así que una clave SSH elimina las peticiones de contraseña y te permite automatizar transferencias desde cron. Si aún no la tienes: autenticación por clave SSH. Los servidores nuevos de EQVPS aceptan la contraseña de root del panel hasta que pases a claves, algo que te recomendamos hacer el primer día.

Transferencias grandes

Para decenas de gigabytes, rsync es la única opción sensata: si se corta la conexión, vuelve a lanzar el mismo comando y seguirá donde se quedó. Ejecútalo dentro de tmux o screen en la máquina que envía, para que cerrar el portátil no lo mate.

Relacionado

Preguntas frecuentes

¿Qué diferencia hay entre scp y rsync?

scp lo copia todo cada vez. rsync compara ambos lados y envía solo lo que ha cambiado, puede reanudar transferencias interrumpidas y puede replicar una carpeta. Para un archivo basta scp; para carpetas que sincronizas a menudo, usa rsync.

¿Cómo uso un puerto SSH no estándar?

scp y sftp usan -P mayúscula (scp -P 20123), ssh usa -p minúscula, y rsync lo pasa así: rsync -e 'ssh -p 20123'. En los planes NAT de EQVPS, el puerto SSH personal aparece en el panel.

¿Puedo usar un cliente gráfico?

Sí. Cualquier cliente SFTP (FileZilla, WinSCP, Cyberduck) funciona con el mismo host, puerto, usuario y clave SSH o contraseña que usas para SSH. Elige el protocolo SFTP, no FTP.

¿Funciona desde Windows?

Windows 10 y 11 incluyen OpenSSH, así que scp y sftp funcionan en PowerShell tal como aquí. rsync no viene incluido; úsalo desde WSL o recurre a la función de sincronización de WinSCP.

¿Qué significa la barra final en rsync?

'rsync -a site/ dest/' copia el contenido de site en dest. 'rsync -a site dest/' crea dest/site. Si te equivocas con --delete, puedes vaciar la carpeta equivocada, así que ejecútalo primero con --dry-run.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.