Iniciar sesión
Iniciar sesión

Cómo copiar archivos a través de SSH

Cómo copiar archivos a través de SSH
Hostman Team
Redactor técnico
Sistema Linux Protocolo SSH seguro
10.10.2025
Reading time: 5 min

El protocolo SSH (Secure Shell) es un protocolo de red para la gestión remota de sistemas operativos mediante línea de comandos. Es ampliamente considerado el estándar para el acceso remoto a máquinas *nix. Permite iniciar sesión de forma segura en un servidor, ejecutar comandos de forma remota, gestionar archivos (crear, eliminar, copiar, etc.) y mucho más. La mayoría de los proveedores de nube y alojamiento requieren SSH para acceder a sus servicios. En este artículo veremos cómo copiar archivos a través de SSH en sistemas Windows y Linux.

Cómo funciona SSH

SSH puede transmitir de forma segura cualquier tipo de datos (audio, vídeo, datos de protocolos de aplicación) a través de un canal de comunicación cifrado. A diferencia de protocolos obsoletos e inseguros como Telnet y rlogin, SSH garantiza la confidencialidad y la autenticidad de los datos — fundamentales para la comunicación en Internet.

Así es como se establece una conexión segura entre cliente y servidor:

    1. Establecimiento de conexión TCP: Por defecto, el servidor escucha en el puerto 22. Ambas partes comparten una lista de algoritmos compatibles (compresión, cifrado, intercambio de claves) y acuerdan cuáles utilizar.

    2. Autenticación: Para evitar la suplantación de identidad, ambas partes verifican sus identidades utilizando cifrado asimétrico (pares de claves pública/privada). Primero se autentica el servidor. En la primera conexión, el cliente muestra una advertencia con los detalles del servidor. Las claves de servidores de confianza se almacenan en /home/<username>/.ssh/known_hosts.

    3. Generación de clave: Una vez verificado el servidor, ambas partes generan una clave simétrica para cifrar todos los datos intercambiados.

    4. Autenticación del usuario: Se realiza mediante contraseña o una clave pública enviada por el cliente, almacenada en el servidor en /home/<username>/.ssh/authorized_keys.

La implementación más popular en Linux es OpenSSH, que viene preinstalada en la mayoría de las distribuciones (Ubuntu, Debian, RHEL, etc.). En Windows se utilizan clientes como PuTTY o MobaXterm. Desde Windows 10 y Server 2019, las herramientas OpenSSH también están disponibles de forma nativa.

Copiar archivos a través de SSH

Dos utilidades principales para copiar archivos en Linux son scp y sftp. Ambas vienen con OpenSSH.

SSH admite dos versiones de protocolo: 1 y 2. OpenSSH admite ambas, aunque la versión 1 se utiliza rara vez.

Configurar autocompletado

Para activar el autocompletado con la tecla Tab al usar scp, configura la autenticación por clave pública:

Generar un par de claves:

ssh-keygen

Salida esperada:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

Por defecto, las claves (id_rsa para privada y id_rsa.pub para pública) se guardan en ~/.ssh/.

Copiar la clave pública al servidor remoto:

ssh-copy-id [username]@[ip-address]

Copiar la clave pública al servidor remoto:

Secure Copy (SCP)

Para transferencias pequeñas (por ejemplo, configuraciones de servicios), scp es ideal.

Copiar de local a remoto:

scp test.txt user@192.168.1.29:/home/user/

Copiar múltiples archivos:

scp test1.txt test2.txt user@192.168.1.29:/home/user/

Copiar múltiples archivos:

scp user@192.168.1.29:/home/user/test.txt ~/

Copiar directorios:

scp -r testdir user@192.168.1.29:/home/user/

Copiar de remoto a remoto:

scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/

Secure FTP (SFTP)

SFTP es otra utilidad incluida en OpenSSH. Desde OpenSSH 9.0, scp utiliza SFTP por defecto en lugar del antiguo protocolo SCP/RCP.

A diferencia de FTP clásico, sftp transmite datos cifrados a través de un túnel seguro. No requiere un servidor FTP separado.

Ejemplo de uso:

sftp misato@192.168.1.29

sftp> ls
sftp> lcd testdir/
sftp> get test.txt
sftp> bye

Gestores de archivos gráficos como Midnight Commander y Nautilus también usan sftp. En Nautilus, el servidor remoto aparece como una carpeta local, por ejemplo user@ip.

Image1

Copiar archivos a través de SSH en Windows

En Windows, se utiliza la herramienta de línea de comandos pscp de PuTTY para copiar archivos.

Copiar al servidor:

pscp C:\server\test.txt misato@192.168.1.29:/home/misato/

Copiar desde el servidor:

pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt

Listar archivos en el servidor remoto:

pscp -ls user@192.168.1.29:/home/misato

Usar comillas para rutas con espacios:

pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/

Ver ayuda:

pscp

Conclusión

Hemos visto cómo copiar archivos desde y hacia un servidor usando el protocolo seguro SSH. Si trabajas con servidores en la nube, entender SSH es esencial: es el método estándar para el acceso remoto a máquinas *nix y una parte fundamental del trabajo diario en DevOps y administración de sistemas.

Sistema Linux Protocolo SSH seguro
10.10.2025
Reading time: 5 min

Similares

Sistema Linux

Cómo Instalar y Usar ripgrep: guía paso a paso para búsquedas eficientes

Introducción a ripgrep (rg) ripgrep (a menudo abreviado como rg) es una herramienta moderna, rápida y potente de línea de comandos que permite buscar archivos de forma recursiva, similar a grep, pero con mayor eficiencia y funciones adicionales. Está diseñada para buscar en repositorios de código, ignorando automáticamente los archivos y directorios definidos en .gitignore u otros archivos de configuración similares. Esto hace que ripgrep sea especialmente eficiente para desarrolladores que trabajan con grandes bases de código. Este tutorial cubre: Instalación de ripgrep en Linux Sintaxis básica y comandos de ripgrep Casos de uso comunes y ejemplos Funciones avanzadas Comparación con otras herramientas como grep Resolución de problemas y buenas prácticas Al final, tendrás una comprensión sólida de cómo usar ripgrep de forma efectiva. Instalar ripgrep en Linux Instalar ripgrep es sencillo en la mayoría de las distribuciones Linux. Puedes hacerlo mediante el gestor de paquetes o descargando el binario. Instalación en Ubuntu Sigue estos pasos: Actualiza la lista de paquetes: sudo apt update Instala ripgrep: sudo apt install ripgrep fzf Sintaxis básica y comandos de ripgrep La sintaxis de ripgrep es similar a grep, pero ofrece mayor rendimiento y funciones más potentes de forma predeterminada. Sintaxis básica rg [OPCIONES] PATRÓN [RUTA] Donde: PATRÓN es la cadena o expresión regular que deseas buscar.[RUTA] es opcional y especifica el archivo o directorio. Si se omite, ripgrep busca en el directorio actual. Ejemplo: búsqueda con extensiones específicas Para buscar solo en archivos con una extensión determinada (por ejemplo, .py): rg "function" *.py Búsqueda recursiva por tipo de archivo Cuando se usan extensiones directamente (*.py), ripgrep no busca de forma recursiva. Para hacerlo correctamente, utiliza --type: rg --type py "function" Esto garantiza que la búsqueda se realice en todos los archivos relevantes del árbol de directorios. Búsqueda con expresiones regulares ripgrep admite expresiones regulares: rg '\d{4}-\d{2}-\d{2}' Busca fechas en formato YYYY-MM-DD. Casos de uso comunes y ejemplos Búsqueda sin distinguir mayúsculas y minúsculas rg -i "error" Coincide con “error”, “Error” o “ERROR”. Buscar por tipo de archivo Buscar solo en archivos Python: rg --type py "import" Excluir directorios Por ejemplo, excluir node_modules: rg "config" --glob '!node_modules/*' Buscar en archivos comprimidos ripgrep puede buscar dentro de archivos comprimidos sin necesidad de extraerlos. Soporta formatos como .gzip, .xz, .lz4, .bzip2, .lzma y .zstd. Ejemplo: rg 'ERST' -z demo.gz Funciones avanzadas de ripgrep ripgrep permite mostrar contexto adicional alrededor de las coincidencias. Contexto antes y después -B [número]: líneas antes -A [número]: líneas después Ejemplo: rg "EXT4-fs \(sda3\)" /var/log/syslog.demo -B 1 -A 2 Contexto combinado rg "EXT4-fs \(sda3\)" /var/log/syslog -C 1 -B 1 -A 2 ofrece mayor control -C 2 muestra el mismo número de líneas antes y después Comparación con otras herramientas ripgrep vs grep ripgrep es más rápido, especialmente en grandes bases de código ignora automáticamente archivos de .gitignore grep está más ampliamente disponible, pero tiene menos funciones integradas ripgrep vs ag (The Silver Searcher) ambos están optimizados para código ripgrep suele ser más rápido y tiene mejor soporte para globbing y regex Resolución de problemas y buenas prácticas Archivos grandes Si tienes problemas de memoria: rg "search-term" --max-filesize 10M Limita la búsqueda a archivos menores de 10 MB. Excluir tipos de archivos globalmente Crea el archivo ~/.ripgreprc: --glob '!*.log' --glob '!*.tmp' Esto excluye .log y .tmp de todas las búsquedas. Comprobar versión rg --version Conclusión Este tutorial cubrió la instalación de ripgrep, comandos básicos, funciones avanzadas y comparaciones con otras herramientas. Gracias a su velocidad y eficiencia, ripgrep es una excelente opción para desarrolladores que desean mejorar sus capacidades de búsqueda en grandes bases de código.
05 February 2026 · 4 min to read
Sistema Linux

Cómo comprimir archivos en Linux usando el comando tar

El comando tar funciona básicamente para agrupar todos los archivos y directorios en un solo archivo sin alterar su estructura. Este enfoque simplifica la organización, la creación de copias de seguridad y la transferencia de archivos. Una vez empaquetados, estos archivos se pueden comprimir utilizando varios métodos como gzip, bzip2 o xz, lo que ayuda a optimizar el almacenamiento y mejorar la velocidad de transferencia. Las distribuciones modernas de Linux en servidores Linux VPS incluyen versiones actualizadas de tar, lo que permite una integración fluida con herramientas de compresión como gzip para una gestión de datos más eficiente. Esto convierte a tar en un recurso valioso para los usuarios que administran grandes conjuntos de datos, ya que admite tanto la consolidación de archivos como la compresión en un solo comando. Gracias a su flexibilidad, tar se utiliza ampliamente en diferentes entornos Linux. No solo facilita la creación de copias de seguridad, sino que también agiliza la distribución de software y la gestión de datos importantes. Con una amplia gama de opciones disponibles, los usuarios pueden personalizar los archivos según sus necesidades, ya sea excluyendo directorios o archivos específicos, conservando permisos o protegiendo datos sensibles. Para cualquier persona que trabaje con grandes volúmenes de información o requisitos de almacenamiento complejos, aprender a fondo el comando tar es fundamental. Todo esto lo convierte en una utilidad importante que los usuarios de Linux deben conocer. Y si estás buscando una solución fiable, de alto rendimiento y económica para tus flujos de trabajo, Hostman ofrece opciones de Linux VPS Hosting, incluidas Debian VPS, Ubuntu VPS y VPS CentOS. Comprender la sintaxis de tar El comando tar se divide fundamentalmente en cuatro partes distintas: tar  -flags: Opciones utilizadas para ejecutar una acción específica Nombre del archivo Ruta al archivo o directorio deseado Se escribiría de la siguiente manera: tar -flags (nombre_del_archivo) (ruta) Archivar archivos y directorios tar utilizado con la opción -cvf permite archivar archivos y directorios. Para un archivo: tar -cvf collectionX.tar snake.txt Para un directorio: tar -cvf DRcollection.tar newDir/ Esto archivará el archivo snake.txt en collectionX.tar y el directorio newDir en DRcollection.tar. Si el objetivo es archivar varios archivos y directorios, utiliza los siguientes comandos. Para varios archivos: tar -cvf collectionX.tar snake.txt panther.txt Tiger.txt Para varios directorios: tar -cvf DRcollection.tar newDir1/ newDir2/ newDir3/ Comprimir archivos y directorios tar utilizado con la opción -czvf permite comprimir archivos y directorios. Para un archivo: tar -czvf collectionX.tar.gz snake.txt Para un directorio:  tar -czvf DRcollection.tar.gz newDir/ -c archiva archivos y directorios -z aplica compresión gzip -v es modo detallado y muestra el proceso de compresión -f permite asignar un nombre al archivo que se va a comprimir Añade .gz después de tar si deseas comprimir archivos y directorios. Para varios archivos: tar -cvf collectionX.tar.gz snake.txt panther.txt Tiger.txt Para varios directorios: tar -cvf DRcollection.tar.gz newDir1/ newDir2/ newDir3/ .bz2 se utiliza con tar y junto con la opción -cjf permite archivar y comprimir archivos y directorios. -j aplica compresión bzip2 Para un archivo con bz2: tar -cjf collectionX.tar.bz2 snake.txt Para un directorio con bz2: tar -cjf DRcollection.tar.bz2 newDir/ .xz se utiliza con .tar y junto con la opción -cJf permite archivar y comprimir archivos y directorios. -J significa compresión con xz. Para un archivo con xz: tar -cJf DRcollection.tar.xz file1.txt Para un directorio con xz: tar -cJf collectionX.tar.xz newDir/ Extraer archivos .tar comprimidos arch1.tar.gz, arch1.tar.bz2 y arch1.tar.xz son tres archivos comprimidos. Extraer .tar.gz: tar -xvzf arch1.tar.gz -x significa extracción de archivos. Extraer .tar.bz2: tar -xvjf arch1.tar.bz2 Extraer .tar.xz: tar -xvJf arch1.tar.xz Extraer archivos específicos usando comodines Si necesitas extraer solo un tipo específico de archivo de un archivo, haz lo siguiente: tar -xvf arch1.tar --wildcards '*.sh' Esto devolverá solo los archivos con la extensión .sh. --wildcards ayuda a buscar tipos de archivo específicos y permite la coincidencia de patrones. *.sh garantiza que solo se extraigan archivos del tipo .sh Extraer en un directorio específico Si necesitas extraer el archivo completo en un directorio específico, haz lo siguiente: tar -xvf arch1.tar -C ./destinationDir/pathDir/ -C cambia al directorio especificado. -xvf ayuda a extraer el archivo en esa ubicación. Gestionar archivos .tar Ver el contenido sin extraer Si necesitas saber qué hay dentro de un archivo sin descomprimirlo, utiliza comandos como estos: tar -tzf arch1.tar.gztar -tjf arch1.tar.bz2tar -tJf arch1.tar.xz -t proporciona detalles sobre el contenido de los archivos comprimidos sin extraerlos. Añadir archivos a un archivo existente Para añadir un archivo nuevo a un archivo: tar -rvf arch1.tar new.sh new.sh se añadirá a arch1.tar. Eliminar un archivo específico de un archivo Si necesitas eliminar un archivo de un archivo sin extraerlo, se puede hacer usando --delete. tar --delete -f arch1.tar new.sh  Esto eliminará el archivo new.sh del archivo arch1.tar sin extraerlo. Ten en cuenta que --delete no funciona con archivos comprimidos, solo con archivos. Comparar el contenido del archivo con el directorio actual Si necesitas examinar el contenido de tu directorio de trabajo actual y compararlo con el archivo, utiliza: tar --diff -f arch1.tar --diff ayuda a comparar el contenido de arch1.tar con el contenido disponible en el directorio de trabajo actual. Solución de problemas comunes de .tar "tar: Removing leading '/' from member names" Esta advertencia aparece cuando se utilizan rutas absolutas en un archivo: tar -cvf arch1.tar /home/user/file.txt Solución: Usa -p para conservar las rutas absolutas. tar -cvpf arch1.tar /home/user/file.txt "tar: Error opening archive: Unrecognized archive format" Este error ocurre cuando el archivo está dañado o se utiliza el comando de descompresión incorrecto. Solución: Verifica el tipo de archivo: file arch1.tar.gz Usa el comando de descompresión correcto: tar -xvzf arch1.tar.gz  # For .tar.gztar -xvjf arch1.tar.bz2  # For .tar.bz2tar -xvJf arch1.tar.xz   # For .tar.xz Si se sospecha corrupción, comprueba la integridad: gzip -t arch1.tar.gzbzip2 -tv arch1.tar.bz2 Conclusión La utilidad tar sirve como una herramienta importante para el archivado, la compresión y la extracción. Proporciona eficiencia, lo que la convierte en un componente crucial de la gestión del almacenamiento en Linux. Con una variedad de configuraciones y ajustes, tar funciona como una solución permanente que se adapta a diversos escenarios de uso. Opciones como -czvf y -xvzf determinan la forma en que los archivos se almacenan y se recuperan, otorgando a los usuarios un control total sobre la compresión de datos. Además, tar es compatible con múltiples herramientas de compresión como gzip, bzip2 y xz, lo que permite a los usuarios optimizar tanto la velocidad como la relación de compresión según sus necesidades específicas. Para profesionales de TI, desarrolladores y usuarios de Linux, aprender todo sobre tar es invaluable. Ya sea para gestionar copias de seguridad, distribuir datos de forma eficaz u optimizar el almacenamiento, tar es una de las herramientas de archivado más influyentes. Al seleccionar las configuraciones y comandos adecuados, los usuarios pueden mejorar significativamente su flujo de trabajo, automatizar tareas y gestionar grandes conjuntos de datos de manera eficiente.
28 January 2026 · 7 min to read
Sistema Linux

Creación de enlaces simbólicos en Linux: un tutorial paso a paso

Los symlinks, también conocidos como enlaces simbólicos, son como accesos directos en el mundo Linux. Le permiten crear un nombre nuevo (o enlace) que apunta a otro archivo, directorio o cualquier objeto dentro del sistema de archivos. Su principal ventaja es reducir la redundancia evitando la necesidad de tener varias copias del mismo archivo. Cuando tiene un symlink, los cambios realizados en el archivo original se reflejan en todos sus enlaces simbólicos. Esto elimina la molestia de actualizar varias copias individualmente. Además, los symlinks ofrecen una manera flexible de gestionar permisos de acceso. Por ejemplo, diferentes usuarios con directorios que apuntan a subconjuntos de archivos pueden limitar la visibilidad más allá de lo que permiten los permisos estándar del sistema de archivos. En esencia, los symlinks son indispensables para una gestión y organización eficiente de archivos, simplificando las actualizaciones y el control de acceso en sistemas complejos. Requisitos previos Para seguir este tutorial, necesitará: Un servidor en la nube, una máquina virtual o un ordenador que ejecute un sistema operativo Linux. En Hostman, puede desplegar un servidor con Ubuntu, CentOS o Debian en menos de un minuto. Creación de enlaces simbólicos con el comando ln El comando ln se utiliza para crear enlaces simbólicos en Linux. Siga estos pasos: Abra una ventana de terminal. Navegue al directorio donde desea crear el enlace simbólico. Utilice la siguiente sintaxis de comando para crear un symlink: ln -s /path/to/source /path/to/symlink Reemplace /path/to/source por la ruta real del archivo o directorio que desea enlazar, y /path/to/symlink por el nombre o ubicación deseada del enlace simbólico. Comprender las opciones del comando ln El comando ln ofrece varias opciones para personalizar la creación de symlinks:  -s: Crea un enlace simbólico.  -f: Sobrescribe un symlink existente.  -n: Trata los destinos de symlink como archivos normales. Explore estas opciones según sus necesidades de enlace. Creación de enlaces simbólicos a archivos Para crear un symlink a un archivo, utilice el comando ln con la opción -s. Aquí tiene un ejemplo de cómo crear un enlace simbólico a un archivo usando el comando ln. El siguiente comando crea un enlace simbólico llamado symlink_file en el directorio actual, que apunta al archivo /path/to/file: ln -s /path/to/file /path/to/symlink_file Reemplace /path/to/file por la ruta real del archivo y /path/to/symlink_file por el nombre deseado del symlink. En este ejemplo, la ruta del archivo es absoluta. También puede crear un enlace simbólico con una ruta relativa. Sin embargo, tenga en cuenta que para que el symlink funcione correctamente, cualquier proceso que acceda a él debe establecer primero el directorio de trabajo correcto; de lo contrario, el enlace puede parecer roto. Creación de enlaces simbólicos a directorios Puede utilizar el comando ln para crear un enlace simbólico que apunte a un directorio. Por ejemplo, el siguiente comando crea un enlace simbólico llamado symlink_directory en el directorio actual, que apunta al directorio /path/to/directory: ln -s /path/to/directory /path/to/symlink_directory Este comando crea un enlace simbólico llamado symlink_directory en su ubicación actual, enlazándolo con el directorio /path/to/directory. Sobrescribir un enlace simbólico de forma forzada Puede utilizar la opción -f con el comando ln. Por ejemplo, si la ruta en un symlink es incorrecta debido a un error tipográfico o si el destino se ha movido, puede actualizar el enlace así: ln -sf /path/to/new-reference-dir symlink_directory El uso de la opción -f garantiza que el contenido del symlink antiguo se reemplace por el nuevo destino. También elimina automáticamente cualquier archivo o symlink en conflicto si existe uno. Si intenta crear un symlink sin la opción -f y el nombre del symlink ya está en uso, el comando fallará. Verificación de enlaces simbólicos Puede mostrar el contenido de un symlink utilizando el comando ls -l en Linux: ls -l symlink_directory La salida mostrará el symlink y su destino: symlink_file -> /path/to/reference_file Aquí, symlink_file es el nombre del enlace simbólico y apunta al archivo /path/to/reference_file. ls -l /path/to/symlink La salida mostrará el symlink y su destino. Prácticas recomendadas para enlaces simbólicos Use nombres descriptivos para los enlaces simbólicos. Evite los enlaces circulares para prevenir confusiones del sistema. Actualice los symlinks si cambia la ubicación del destino. Casos de uso de los enlaces simbólicos Gestión de archivos de configuración: Enlazar archivos de configuración entre sistemas. Control de versiones: Enlazar simbólicamente bibliotecas comunes para proyectos de desarrollo. Copias de seguridad de datos: Crear symlinks hacia directorios de copia de seguridad. Posibles problemas y solución de errores Problemas de permisos: Asegúrese de que existan los permisos adecuados para la fuente y el symlink. Enlaces rotos: Actualice los symlinks si los archivos de destino se mueven o eliminan. Enlaces entre sistemas de archivos: Los symlinks pueden no funcionar entre diferentes sistemas de archivos. Conclusión Los symlinks son valiosos para optimizar la gestión de archivos y el mantenimiento del sistema. Simplifican las actualizaciones entre múltiples aplicaciones que comparten un archivo común, reduciendo la complejidad del mantenimiento. También ofrecen una alternativa a directorios como /etc, que suelen requerir acceso root para modificar archivos. Los desarrolladores encuentran útiles los symlinks para alternar sin problemas entre archivos de prueba locales y versiones de producción. Al seguir este tutorial, ha dominado el arte de crear enlaces simbólicos en Linux. Aproveche los symlinks para una gestión de archivos eficiente y una mayor personalización.
15 December 2025 · 5 min to read

¿Necesita ayuda para
elegir un producto?

Nuestros expertos están disponibles para ayudarle a encontrar la solución cloud
adecuada para su empresa, incluso si no sabe por dónde empezar.
Hostman's Support