Este artículo explica cómo usar SSH para conectarte a un servidor remoto en Linux. También cubrimos el método con PuTTY para conectarte a un servidor remoto Linux. Por supuesto, PuTTY no es el único cliente SSH que puedes usar para tus conexiones remotas. Echa un vistazo a esta comparativa de los mejores clientes SSH para Windows en 2022 y elige el que mejor se adapte a tus necesidades. Acceder a dispositivos de forma remota se convirtió en una necesidad hace tiempo, y hoy es difícil imaginar cómo trabajaríamos sin poder controlar equipos desde cualquier lugar.
- ¿Qué es SSH y qué significa?
- ¿Cómo funciona SSH?
- ¿Qué es un terminal?
- ¿Qué es SSL?
- ¿Cómo crear una conexión SSH?
- ¿Cómo puedo usar SSH para conectarme a un servidor remoto en Linux?
- Más pasos para el control remoto con SSH
- ¿Qué es PuTTY?
- ¿Cómo conectarse a un servidor Linux con PuTTY?
- ¿Cómo configurar la autenticación por clave pública de SSH en Linux?
- Paso 1: Genera un par de claves
- Paso 2: Indica un nombre de archivo y una contraseña
- Paso 3: Copia la clave pública
- Paso 4: Introduce las credenciales de tu cuenta
- Paso 5: Inicia sesión en el sistema remoto
- Paso 6: Crea el archivo necesario en tu cuenta
- Paso 7: Añade el contenido del archivo de clave pública al archivo authorized-keys
- Paso 8: Elimina el archivo de clave pública
- Paso 9: Añade tu clave pública a otros sistemas (opcional)
- Paso 10: SSH a tu cuenta en el sistema remoto
- Estándares importantes de escritorio remoto
- ¿Qué es VNC?
- Tuneliza VNC a través de SSH
- ¿Qué es RDP?
- Conclusión: conexión remota con SSH
- Preguntas frecuentes
Hay varias formas de conectarse a una máquina remota según el sistema operativo que uses, pero los dos protocolos más utilizados son:
- Secure Shell (SSH) para dispositivos basados en Linux
- Remote Desktop Protocol (RDP) para dispositivos Windows
Ambos protocolos utilizan aplicaciones de cliente y servidor para establecer conexiones remotas. Con estas herramientas puedes acceder y controlar otros equipos de forma remota, transferir datos y hacer prácticamente todo lo que harías sentado frente al ordenador.
¿Qué es SSH y qué significa?
SSH (Secure Shell), también conocido como "Secure Socket Shell", es un protocolo que permite conectarse de forma segura a un dispositivo o servidor remoto mediante una interfaz de texto. Existen dos protocolos ampliamente utilizados para conectarse a una máquina remota: SSH y RDP. Para establecer una conexión SSH se necesitan dos componentes: un cliente y un servidor.
Cuando se establece una conexión segura SSH, se inicia una sesión de shell y puedes controlar el servidor escribiendo comandos desde el cliente en tu máquina local. Este protocolo es especialmente utilizado por administradores de sistemas y de redes que necesitan acceder a dispositivos remotos con un alto nivel de seguridad.
¿Necesitas un escritorio remoto?
Servidores RDP fiables y de alto rendimiento con un uptime del 99,95 %. Lleva tu escritorio contigo a las principales ciudades de EE. UU., Europa y Asia.
Obtener un servidor RDP¿Cómo funciona SSH?
Para establecer una conexión SSH, necesitas dos componentes:
las el cliente y la parte correspondiente del lado del servidor. El cliente SSH es una aplicación que se ejecuta en el dispositivo desde el que te conectas a otro equipo o servidor. El cliente utiliza los datos proporcionados por el host remoto para iniciar la conexión. Una vez validadas las credenciales, el cliente establece una conexión cifrada.
En el lado del servidor se encuentra un componente llamado daemon SSH (SSHD) que escucha continuamente en un puerto TCP/IP específico esperando solicitudes de conexión entrantes. Cuando un cliente inicia una conexión, el daemon SSH responde con las versiones de software y protocolo que admite, y ambos intercambian sus datos de identificación.
Si las credenciales son correctas, SSH establece una nueva sesión para el entorno correspondiente. La versión predeterminada del protocolo SSH para la comunicación entre el servidor y el cliente es la versión 2.
Leer también: El mejor cliente SSH para Windows en 2022
¿Qué es un terminal?
Si eres nuevo en Linux, conviene que te familiarices con el terminal. Piensa en él como el centro de comandos principal: la forma estándar de interactuar con un servidor Linux.
Usar la línea de comandos puede parecer complicado al principio, pero es sencillo si empiezas por lo básico, como estos 15 comandos esenciales que todo usuario debería conocer.
El terminal es aún más importante si tienes pensado desarrollar una aplicación, o aprender a desarrollarla, usando PHP o Python. A diferencia de Windows, que complica innecesariamente Python al intentar adaptarlo a una interfaz gráfica, Linux integra Python y otros lenguajes de programación directamente en el terminal. Así, aunque tengas que seguir varios pasos para instalar Python en Windows y el resultado sea poco práctico, en Linux ya viene incluido y accesible desde la línea de comandos.
Hosting con Linux, sin complicaciones
¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.
Obtén tu Linux VPS¿Qué es SSL?
SSH utiliza SSL (Secure Socket Layer) para proteger los datos transferidos entre el navegador web y el servidor. SSL cifra el enlace entre el servidor web y el navegador, garantizando que toda la información que se intercambia permanezca privada y segura frente a posibles ataques. En otras palabras, la creación de claves públicas y privadas entre servidores remotos y equipos locales que se conectan mediante SSH forma parte del protocolo de seguridad SSL. Esta capa de protección adicional es especialmente útil para defenderse contra ataques de fuerza bruta.
¿Cómo crear una conexión SSH?
Dado que establecer una conexión SSH requiere un componente cliente y otro servidor, debes asegurarte de que ambos estén instalados en las máquinas local y remota.
OpenSSH es una herramienta SSH de código abierto de uso habitual en distribuciones Linux y es relativamente fácil de usar. Requiere acceso al terminal tanto en el servidor como en el dispositivo desde el que te conectas. Ten en cuenta que Ubuntu no incluye un servidor SSH instalado por defecto. En este punto de la guía de conexión remota SSH, ya tenemos una visión clara de SSH y sus conceptos relacionados. Pasemos ahora a instalar un cliente OpenSSH.
Paso 1: Instala un cliente OpenSSH
Antes de instalar el cliente SSH, comprueba que no esté ya instalado en tu sistema. Muchas distribuciones de Linux incluyen un cliente SSH de serie.
- Ejecuta el siguiente comando para instalar OpenSSH en tu dispositivo:
sudo apt-get install openssh-client
- Introduce la contraseña de superusuario cuando se te solicite.
- Pulsa Enter para completar el proceso de instalación.
Si tienes los permisos necesarios junto con el nombre de host o la dirección IP, ya puedes usar SSH desde cualquier equipo que tenga una aplicación en el lado del servidor.
Paso 2: Instala un servidor OpenSSH
Para aceptar conexiones SSH, el componente de servidor del conjunto de herramientas SSH debe estar instalado en el equipo. Para ello, sigue estos pasos:
- Abre el terminal en tu servidor. Puedes buscarlo en el menú o pulsar CTRL + ALT + T en tu teclado.
- Introduce el siguiente comando para instalar el servidor SSH:
sudo apt-get install openssh-server
- Introduce la contraseña de superusuario cuando se te solicite.
- Pulsa Enter y Y para permitir que la instalación continúe tras el aviso de espacio en disco.
Una vez completados los pasos anteriores, los archivos de soporte necesarios quedarán instalados. Puedes verificar que el servidor SSH está en ejecución con este comando:
sudo service ssh status
Si el servicio SSH funciona correctamente, la respuesta del terminal debería ser idéntica a esta:

Otra forma de comprobar que el servidor OpenSSH está instalado correctamente y acepta conexiones es volver a ejecutar el comando ssh localhost en tu terminal. La primera vez que lo ejecutes, la respuesta tendrá un aspecto similar a este:

Ahora, introduce sí or y para continuar.
¡Listo! Tu servidor ya está preparado para aceptar conexiones remotas SSH desde otros equipos mediante un cliente SSH.
¿Cómo puedo usar SSH para conectarme a un servidor remoto en Linux?
Una vez que tengas el cliente y el servidor OpenSSH instalados en todos los dispositivos que necesitas, puedes establecer una conexión remota SSH segura a tus servidores siguiendo estos pasos:
- Abre el terminal SSH en tu equipo y ejecuta el siguiente comando:
Si el nombre de usuario en tu dispositivo local coincide con el del servidor al que vas a conectarte, puedes ejecutar este comando:
ssh your_username@host_ip_address
Si el nombre de usuario en tu dispositivo local coincide con el del servidor al que vas a conectarte, puedes ejecutar este comando:
ssh host_ip_address
Y pulsa Enter.
- Introduce tu contraseña y pulsa Enter. Ten en cuenta que no verás ningún carácter en pantalla mientras escribes. Si pegas la contraseña, asegúrate de que esté almacenada de forma segura y no en un archivo de texto.
- La primera vez que te conectes a un servidor, el sistema te preguntará si deseas continuar. Escribe "síy pulsa Enter. Este mensaje solo aparece esta vez porque el servidor remoto no está identificado en tu equipo local.
- La clave de huella digital ECDSA ha sido añadida y ahora estás conectado al servidor remoto.
Si el dispositivo al que intentas conectarte remotamente está en la misma red, es más seguro usar la dirección IP privada en lugar de la pública. En caso contrario, solo necesitarás la dirección IP pública. Desde tu terminal ya puedes gestionar y controlar el dispositivo remoto. Si tienes problemas para conectarte a un servidor remoto, verifica que la dirección IP del dispositivo, tu nombre de usuario y tu contraseña sean correctos. Además, comprueba que el puerto en el que escucha el daemon SSH no esté bloqueado por un cortafuegos ni configurado con un reenvío incorrecto.
Hosting con Linux, sin complicaciones
¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.
Obtén tu Linux VPSMás pasos para el control remoto con SSH
Ahora que puedes establecer una conexión remota SSH con tu servidor, te recomendamos dar algunos pasos adicionales para mejorar el control remoto SSH y su seguridad. Usar los valores predeterminados para la configuración de la conexión SSH remota hace que tu sistema sea más vulnerable a intrusiones y ataques, convirtiendo el acceso SSH remoto en un riesgo y exponiendo tu sistema a ataques automatizados.
A continuación encontrarás algunas sugerencias para mejorar la seguridad de SSH, que puedes aplicar editando el archivo de configuración sshd:
- Cambia el puerto predeterminado TCP en el que escucha el daemon SSH: sustitúyelo del 22 por un número mucho más alto, como el 245976. Evita usar números fáciles de adivinar, como 222, 2222 o 22222.
- Usa pares de claves SSH para autenticarte sin contraseña. Son más seguros, permiten iniciar sesión sin escribir tu contraseña y hacen el proceso más rápido y cómodo.
- Deshabilita el inicio de sesión con contraseña en tu servidor. Si alguien consigue descifrar tu contraseña, esta medida impedirá que pueda usarla para acceder a tus servidores. Antes de hacerlo, asegúrate de que la autenticación por par de claves funciona correctamente.
- Deshabilita el acceso root a tu servidor y usa una cuenta regular con el comando su – para cambiar al usuario root.
Ahora tenemos una comprensión más sólida de la conexión remota SSH y de cómo acceder a SSH de forma remota. A lo largo de este artículo hemos mencionado PuTTy varias veces; si no lo conoces, es natural que tengas algunas dudas al respecto. Por eso, además de esta guía sobre la conexión remota SSH, te ofrecemos una introducción a PuTTy y te mostramos cómo usarlo para conectarte a un servidor Linux.
¿Qué es PuTTY?
PuTTY es un emulador de terminal Windows muy utilizado, aunque no está limitado a sistemas operativos Windows. Es gratuito y de código abierto, por lo que también es popular entre los usuarios de Linux, y ofrece una interfaz de texto para conectarse a equipos remotos mediante cualquiera de sus protocolos compatibles incluyendo SSH y Telnet.
[su_button url="https://www.putty.org/" target="blank" style="soft" size="5"]Download Putty[/su_button]
Nota: PuTTY es una herramienta de descarga gratuita que ofrece una forma sencilla de acceder al entorno de shell Unix desde tu sistema Windows. A diferencia de Unix, Windows no incluye un servidor ni un cliente SSH preinstalado. Por eso, este programa de transferencia de archivos en red admite una variedad de protocolos, incluidos clientes Telnet.
Leer también: Generar claves SSH en Windows 10
¿Cómo descargar e instalar PuTTY en Ubuntu Linux?
La versión Linux de PuTTY es una aplicación de terminal gráfica que no viene preinstalada en la mayoría de las distribuciones Linux. Sin embargo, puedes instalar PuTTY fácilmente desde el terminal en cualquier dispositivo basado en Linux.
Si no tienes PuTTY instalado, visita la página Descargar PuTTY y descarga el instalador para Linux desde la sección Package Files de la página.
Los usuarios de Linux tienen la ventaja de que PuTTY está disponible en el repositorio universe de Ubuntu. Para instalarlo en Linux Ubuntu, primero asegúrate de que el repositorio universe está habilitado. Usa este comando:
sudo add-apt-repository universe
Una vez habilitado el repositorio universe, actualiza Ubuntu con este comando:
sudo apt update
Luego instala PuTTY con este comando:
sudo apt install putty
Cuando la instalación de PuTTY haya finalizado, puedes iniciarlo buscándolo en el menú. La versión Linux de PuTTY tiene un aspecto prácticamente idéntico al de la versión Windows, por lo que no tendrás dificultades para orientarte entre los ajustes nuevos o modificados.
¿Cómo conectarse a un servidor Linux con PuTTY?
Si quieres conectarte a un servidor Linux usando PuTTY después de instalarlo, sigue estos pasos:
Paso 1: Configura PuTTY
Al abrir PuTTY, aparecerá la pantalla principal de configuración de sesión. Empieza introduciendo el Nombre de Host (o dirección IP) del servidor al que quieres conectarte.
El puerto estará configurado en 22 por defecto, ya que es el puerto estándar de SSH en la mayoría de servidores. Esto supone una vulnerabilidad porque los atacantes saben de antemano qué puerto atacar. Deberías cambiar el puerto de SSH siguiendo estas instrucciones y luego actualizar el número en PuTTY. Asegúrate de que el tipo de conexión está configurado como SSH.
Si no usas una clave privada para conectarte a tu servidor y no quieres guardar la configuración para más adelante, haz clic en Open para iniciar una conexión SSH directa a tu servidor usando la contraseña de tu cuenta.
Si es la primera vez que te conectas a este servidor, PuTTY mostrará un Advertencia de Seguridad para informarte de que no tiene ninguna clave en el registro para ese servidor. Esto es habitual en la primera conexión.

Si la conexión se establece correctamente, se te pedirá que introduzcas tu contraseña. Una vez hecho, estarás conectado a una shell en tu servidor.
Leer también: Instalar MikroTik CHR en VPS (con PuTTY)
Paso 2: Guarda la configuración de PuTTY para usos futuros
PuTTY te permite guardar la configuración de conexión a un servidor para no tener que introducir todos los datos cada vez. Una vez que hayas rellenado todos los campos necesarios y estés listo para conectarte, asegúrate de estar en la pantalla principal de configuración de sesión descrita anteriormente.
Puedes ver el nombre de host y el número de puerto de tu servidor. Introduce el nombre de tu configuración de sesión SSH guardada en el campo de texto que hay bajo Sesiones Guardadas y pulsa Guardar.
¿Cómo configurar la autenticación por clave pública de SSH en Linux?
PuTTY también puede configurarse para usar claves SSH. Las claves SSH son un método de autenticación más seguro y, en ocasiones, más cómodo. Puedes generarlas desde el propio PuTTY. Aquí tienes nuestra guía para generar claves SSH con PuTTY en Windows. Úsala para reforzar rápidamente la seguridad de SSH.
Para configurar la autenticación por clave pública mediante SSH en un equipo Linux (o macOS), sigue estos pasos:
Paso 1: Genera un par de claves
Primero, inicia sesión en el equipo desde el que accederás al host remoto y usa SSH desde la línea de comandos para generar un par de claves con el algoritmo RSA. Para generar las claves RSA, escribe lo siguiente en la línea de comandos y pulsa Enter:
ssh-keygen -t rsa
Paso 2: Indica un nombre de archivo y una contraseña
Tendrás que indicar un nombre de archivo para guardar el par de claves y una contraseña para proteger tu clave privada. Si prefieres usar el nombre de archivo y la ubicación por defecto, pulsa Enter o Return sin escribir ningún nombre. También puedes introducir un nombre como My_ssh_key cuando se te solicite y pulsar Enter o Return. Ten en cuenta que muchos hosts remotos están configurados para aceptar claves privadas con el nombre de archivo y la ruta por defecto. Por eso, si usas uno diferente, debes indicarlo de forma explícita en la línea de comandos de SSH o en el archivo de configuración del cliente SSH (~/.ssh/config).
Debes introducir una contraseña de al menos cinco caracteres y pulsar Enter o Return. Si pulsas Enter sin escribir ninguna contraseña, la clave privada se generará sin protección por contraseña.
Paso 3: Copia la clave pública
Usa SFTP o SCP para copiar el archivo de clave pública a tu cuenta en el sistema remoto.
Paso 4: Introduce las credenciales de tu cuenta
Se te pedirá la contraseña de tu cuenta. Tu clave pública se copiará a tu directorio personal en el sistema remoto con el mismo nombre de archivo.
Paso 5: Inicia sesión en el sistema remoto
Inicia sesión en el sistema remoto con tu nombre de usuario y contraseña
Paso 6: Crea el archivo necesario en tu cuenta
Si tu cuenta en el sistema remoto no tiene aún un archivo ~/.ssh/authorized_keys, créalo ejecutando los siguientes comandos:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
Paso 7: Añade el contenido del archivo de clave pública al archivo authorized_keys

En el sistema remoto, añade el contenido de tu archivo de clave pública, como ~/id_rsa.pub, en una nueva línea del archivo ~/.ssh/authorized_keys con el siguiente comando:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Puedes verificar el contenido de ~/.ssh/authorized_keys para confirmar que tu clave pública se añadió correctamente con el siguiente comando:
more ~/.ssh/authorized_keys
Paso 8: Elimina el archivo de clave pública
Ahora puedes eliminar de forma segura el archivo de clave pública de tu cuenta en el sistema remoto con el siguiente comando:
rm ~/id_rsa.pub
Si prefieres conservar una copia de tu clave pública en el sistema remoto, muévela a tu directorio .ssh con este comando:
mv ~/id_rsa.pub ~/.ssh/
Paso 9: Añade tu clave pública a otros sistemas (opcional)
En este punto de la configuración de autenticación por clave pública de SSH, puedes repetir estos pasos para añadir tu clave pública a otros sistemas remotos a los que quieras acceder desde el equipo que tiene tu clave privada mediante autenticación por clave pública de SSH.
Paso 10: SSH a tu cuenta en el sistema remoto
Ya puedes usar la conexión remota de SSH con tu cuenta en el sistema remoto, que tiene registrada tu clave privada. Si tu clave privada está protegida con contraseña, el sistema remoto te la pedirá (como se muestra en la imagen de abajo). Ten en cuenta que la contraseña de tu clave privada nunca se envía al sistema remoto.

Si tu clave privada no está protegida con contraseña, el sistema remoto te llevará directamente a la línea de comandos en tu directorio de inicio sin pedirte ninguna contraseña, y verás una salida similar a esta:

Haz clic en el botón Abre pestaña, introduce la contraseña y conéctate.
Además de la conexión remota por SSH, existen varias herramientas de escritorio remoto que te permiten controlar un sistema a distancia. A continuación, repasamos brevemente cada una de ellas.
Leer también: Todo lo que necesitas saber sobre el proxy SOCKS5 de SSH
Estándares importantes de escritorio remoto
VNC y RDP son dos protocolos de escritorio remoto con objetivos similares, aunque su funcionamiento es diferente.
¿Qué es VNC?
A veces se confunde VNC (computación en red virtual) con VPN (red privada virtual). Ambos operan en entornos de red entre pares y permiten el acceso remoto a un equipo, pero no son lo mismo.
VNC ofrece acceso completo al dispositivo mediante sistemas de uso compartido de escritorio que te permiten tomar el control total de tu máquina de forma remota. Las funciones de escritorio remoto aumentan la productividad de todo tipo de usuarios: particulares, organizaciones y equipos de IT.
Por su parte, una VPN ofrece acceso remoto a la red, no al sistema en sí. Esto significa que solo puedes acceder a recursos y datos compartidos, como una impresora en red en una oficina.
Tuneliza VNC a través de SSH
Si te conectas a un escritorio remoto mediante el protocolo VNC, la conexión no será segura. Algunos clientes VNC no protegen la conexión más allá del inicio de sesión inicial. Puedes tunelizar una conexión VNC a través de un túnel SSH para resolver este problema. El túnel SSH protege la conexión VNC y te permite usarla incluso cuando el puerto habitual de VNC (puerto 5901) está bloqueado.
Algunas redes corporativas bloquean puertos estándar, como el puerto 5901, como medida de seguridad adicional. Tunelizar VNC sobre SSH te permite superar esta restricción.
¿Qué es RDP?
RDP (Remote Desktop Protocol) es un protocolo de comunicación de red desarrollado por Microsoft que permite a los usuarios conectarse de forma remota a otro dispositivo. Es una extensión de los protocolos T.120 y forma parte del estándar de la ITU (Unión Internacional de Telecomunicaciones).
¿Necesitas un escritorio remoto?
Servidores RDP fiables y de alto rendimiento con un uptime del 99,95 %. Lleva tu escritorio contigo a las principales ciudades de EE. UU., Europa y Asia.
Obtener un servidor RDPConclusión: conexión remota con SSH
Para crear una conexión remota por SSH y conectarte a un servidor en Linux, necesitas dos componentes: el cliente y la parte del servidor correspondiente. Este artículo ha explicado cómo acceder remotamente por SSH y aprovechar sus ventajas. Además, en Cloudzy nos enorgullece ofrecer diversas planes Linux VPS para ayudarte a sacar el máximo partido. En Cloudzy hacemos todo lo posible por ofrecerte soluciones Linux VPS con un rendimiento y una seguridad excelentes, para que tu experiencia de hosting sea siempre de primer nivel.
Preguntas frecuentes
¿Qué es SSH?
SSH es un protocolo de seguridad para conectarse a servidores remotos. El comando ssh utiliza este protocolo para transferir datos entre el cliente y el servidor de forma cifrada.
¿Cómo configurar claves SSH?
- Generar claves SSH
- Nombra tus claves SSH
- Introduce una contraseña (opcional)
- Copia la clave pública al sistema remoto
- Prueba tu conexión.
¿Qué es un par de claves SSH?
Cada par de claves SSH incluye dos claves: una clave pública y una clave privada. Cualquiera que tenga una copia de la clave pública puede cifrar datos, pero solo quien posea la clave privada correspondiente puede leerlos.
¿Dónde está la clave privada de SSH?
Si usas el nombre por defecto, tu clave privada se guardará en "/root/.ssh/id_rsa".