Iniciar sesión
Iniciar sesión

Cómo conectarse a un servidor mediante SSH: Guía Paso a Paso

Cómo conectarse a un servidor mediante SSH: Guía Paso a Paso
Hostman Team
Redactor técnico
Protocolo SSH seguro
21.01.2026
Reading time: 6 min

SSH es un protocolo de capa de aplicación que se utiliza comúnmente para el acceso remoto. En este artículo, analizaremos cómo usar el protocolo SSH para conectarse a servidores Linux remotos y cómo configurar ciertos parámetros para mejorar la seguridad.

SSH puede utilizarse con cualquier distribución de Linux, ya que está habilitado de forma predeterminada en la mayoría de los sistemas Unix y Linux modernos.

En esta guía, todas las pruebas se realizaron en Ubuntu 22.04; sin embargo, también puede aplicarse a otras distribuciones como Debian, CentOS, etc.

Métodos para conectarse mediante SSH

Puedes utilizar varios programas cliente para conectarte a servidores Linux a través de SSH. Algunos de los más populares son:

  • Windows: PuTTY, Bitvise SSH Client, SuperPuTTY, mRemoteNG, MobaXterm

  • macOS: Termius o la utilidad SSH integrada en Terminal

  • Windows (Windows 10, Windows 11, Windows Server 2019): el cliente OpenSSH integrado, accesible desde la línea de comandos (cmd) o PowerShell

Sintaxis del comando SSH

La sintaxis estándar del comando SSH es la siguiente:

  • ssh <usuario@IP_o_dominio>

Por ejemplo:

  • ssh alex@166.1.227.189

De forma predeterminada, SSH se conecta a través del puerto 22. Si el servidor utiliza un puerto diferente, especifícalo con la opción -p:

  • ssh alex@166.1.227.189 -p 2222

Archivo de configuración del servidor SSH

El archivo de configuración del servidor SSH se llama sshd_config y se encuentra en el directorio /etc/ssh. No debe confundirse con el archivo del cliente SSH ssh_config. En este artículo nos centraremos únicamente en el archivo del servidor.

Autenticación SSH mediante contraseña

De forma predeterminada, las conexiones SSH se basan en contraseñas, a menos que se haya añadido una clave SSH durante la creación del servidor (las claves SSH se explican en la siguiente sección). En la mayoría de las distribuciones Linux/Unix, la configuración del servidor incluye autenticación PAM, lo que permite a los usuarios con cuentas del sistema iniciar sesión usando su nombre de usuario y contraseña.

Para iniciar sesión con contraseña, necesitas la dirección del servidor remoto y las credenciales del usuario, por ejemplo:

  • ssh alex@166.1.227.189

Después de ejecutar el comando, se te pedirá la contraseña. Si es correcta, accederás al servidor.

Al conectarte por primera vez, verás un mensaje sobre la “huella digital” del servidor. Escribe yes para continuar.

Aunque la autenticación por contraseña funciona, no es el método más seguro, ya que las contraseñas pueden ser adivinadas. Una alternativa más segura es el uso de claves SSH, que se describe en la siguiente sección.

Autenticación mediante claves SSH

Las claves SSH son un método de autenticación más seguro y común que las contraseñas. SSH utiliza dos tipos de claves:

  • Clave pública: se utiliza para el cifrado y puede compartirse públicamente

  • Clave privada: se utiliza para el descifrado y debe mantenerse en secreto

Para generar claves SSH, utiliza el siguiente comando:

  • ssh-keygen

El comando te pedirá que elijas un directorio para guardar las claves. De forma predeterminada, se almacenan en el directorio .ssh de tu carpeta personal, por ejemplo /home/alex/.ssh. Pulsa Enter para usar la ruta predeterminada.

A continuación, se te pedirá que establezcas una frase de paso (passphrase) para mayor seguridad. Si prefieres no usar una, pulsa Enter cuando se te solicite.

Una vez generadas las claves, la clave privada (id_rsa) y la clave pública (id_rsa.pub) se almacenarán en el directorio .ssh.

Antes de conectarte a un host remoto, copia la clave pública a ese host utilizando el comando ssh-copy-id:

  • ssh-copy-id -i /home/alex/.ssh/id_rsa.pub alex@166.1.227.189

Se te pedirá que introduzcas la contraseña del usuario remoto una sola vez. Después, la clave pública se añadirá al host remoto y podrás iniciar sesión sin contraseña:

  • ssh alex@166.1.227.189

Si no se solicita ninguna contraseña, la autenticación basada en claves está funcionando correctamente.

Deshabilitar la autenticación por contraseña

Dado que las contraseñas no son seguras, se recomienda deshabilitar la autenticación por contraseña y utilizar únicamente el acceso basado en claves. Para ello, edita el archivo de configuración del servidor SSH:

  • nano /etc/ssh/sshd_config

Busca la línea PasswordAuthentication y cambia su valor a no:

  • PasswordAuthentication no

Guarda los cambios y reinicia el servidor SSH:

  • systemctl restart ssh

Importante: Antes de deshabilitar la autenticación por contraseña, asegúrate de que la autenticación basada en claves funciona correctamente. De lo contrario, podrías quedarte sin acceso al servidor. Si esto ocurre, puedes restaurar la autenticación por contraseña mediante la consola web del servidor.

Cambiar el puerto SSH predeterminado

De forma predeterminada, el servidor SSH utiliza el puerto 22. Puedes cambiarlo editando el archivo sshd_config. Busca la línea Port, elimina el símbolo # y especifica un nuevo puerto (entre 1024 y 65535):

  • Port 2224

Guarda los cambios y reinicia el servidor SSH:

  • systemctl restart ssh

Para conectarte al servidor usando el nuevo puerto, utiliza la opción -p:

  • ssh alex@166.1.227.189 -p 2224

Deshabilitar el inicio de sesión como root

En algunas distribuciones, el inicio de sesión como root está permitido de forma predeterminada. Dado que el usuario root tiene privilegios completos del sistema, es más seguro deshabilitar este acceso. Busca la línea PermitRootLogin en el archivo sshd_config y establécela en no:

  • PermitRootLogin no

Guarda el archivo y reinicia el servidor SSH:

  • systemctl restart ssh

Permitir o denegar usuarios específicos

Puedes restringir el acceso SSH a usuarios específicos editando el archivo sshd_config con los siguientes parámetros:

AllowUsers: especifica qué usuarios pueden conectarse mediante SSH. Por ejemplo:

  • AllowUsers test admin

DenyUsers: especifica qué usuarios tienen prohibido el acceso SSH. Por ejemplo:

  • DenyUsers nginx websrv

Para aplicar los cambios, reinicia el servidor SSH:

  • systemctl restart ssh

Conclusión

SSH es una herramienta indispensable para conectarse a servidores remotos. Además del cifrado integrado, puedes reforzar la seguridad de tu servidor SSH configurándolo correctamente, por ejemplo, deshabilitando la autenticación por contraseña y limitando el acceso a usuarios específicos.

Protocolo SSH seguro
21.01.2026
Reading time: 6 min

Similares

Sistema Linux

Cómo copiar archivos a través de SSH

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: 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. 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. Generación de clave: Una vez verificado el servidor, ambas partes generan una clave simétrica para cifrar todos los datos intercambiados. 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. 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.
10 October 2025 · 5 min to read
Sistema Ubuntu

Cómo instalar y configurar SSH en Ubuntu 22.04

SSH es un protocolo de red que proporciona una conexión segura entre un cliente y un servidor. Toda la comunicación está cifrada, lo que evita el robo de datos transmitidos por la red y otros ataques remotos. Supongamos que has contratado un servidor en la nube con Hostman. Para conectarte y administrarlo, necesitarás tener SSH instalado y configurado. La guía a continuación describe cómo instalar y configurar SSH en Ubuntu 22.04. Requisitos previos Antes de continuar con la instalación y configuración del servicio Secure Shell, asegúrate de cumplir con los siguientes requisitos: Conocimientos de línea de comandos en Linux Es esencial dominar comandos básicos como sudo, apt, nano y systemctl al configurar el servicio. Estos comandos se usarán con frecuencia durante el proceso de instalación y configuración. Es fundamental sentirse cómodo trabajando en la línea de comandos para administrar el servicio eficazmente. Acceso root o sudo para la configuración Para instalar y configurar el servidor se requieren privilegios administrativos (root). Los usuarios deben tener acceso a sudo o haber iniciado sesión como root. Sin estos privilegios, no se puede continuar con la configuración. Conexión a internet para descargar paquetes Es necesaria una conexión estable para instalar el servidor OpenSSH y cualquier otro paquete relacionado. Sin una conexión funcional, el sistema no podrá obtener los componentes de software necesarios. Configurar el firewall para permitir el acceso Si hay un firewall como ufw habilitado en el sistema, puede bloquear el acceso remoto por defecto. Es fundamental configurar el firewall para permitir conexiones entrantes. Usa ufw u otra herramienta para asegurarte de que el puerto 22 esté abierto y accesible. Acceso al sistema (local o remoto) Necesitas acceso físico a tu máquina para configurarla localmente, o debe ser accesible remotamente mediante su dirección IP. Asegúrate de que el sistema esté conectado correctamente a la red para establecer una conexión. No olvides que puedes desplegar tu servidor en la nube de forma rápida y económica con nuestro servicio de VPS Server Hosting. Paso 1: preparar Ubuntu Lo primero que debes hacer antes de instalar SSH en Ubuntu es actualizar todos los paquetes apt a sus últimas versiones. Para ello, ejecuta el siguiente comando: sudo apt update && sudo apt upgrade Paso 2: instalar SSH en Ubuntu OpenSSH no viene preinstalado en el sistema, así que instalémoslo manualmente. Para hacerlo, escribe en la terminal: sudo apt install openssh-server Comenzará la instalación de todos los componentes necesarios. Responde "Yes" a todos los mensajes del sistema. Una vez completada la instalación, pasa al siguiente paso para iniciar el servicio. Paso 3: iniciar SSH Ahora debes habilitar el servicio que acabas de instalar usando el siguiente comando: sudo systemctl enable --now ssh Si el inicio es exitoso, verás un mensaje del sistema confirmándolo. La opción --now permite iniciar el servicio y configurarlo para que se inicie automáticamente al arrancar el sistema. Para verificar que el servicio esté habilitado y en ejecución, escribe: sudo systemctl status ssh La salida debe contener la línea Active: active (running), lo que indica que el servicio está funcionando correctamente. Si deseas deshabilitar el servicio, ejecuta:  sudo systemctl disable ssh Esto desactiva el servicio y evita que se inicie al arrancar el sistema. Paso 4: configurar el Firewall Antes de conectarte al servidor mediante SSH, revisa el firewall para asegurarte de que esté correctamente configurado. En nuestro caso, tenemos instalado UFW, así que usaremos el siguiente comando: sudo ufw status En la salida, deberías ver que el tráfico SSH está permitido. Si no aparece en la lista, necesitas permitir las conexiones SSH entrantes. Este comando lo hará: sudo ufw allow ssh Paso 5: conectar al servidor Una vez que completes todos los pasos anteriores, podrás iniciar sesión en el servidor usando el protocolo SSH. Para hacerlo, necesitas la dirección IP o el nombre de dominio del servidor, y el nombre de un usuario creado en él. En la línea de la terminal, introduce el siguiente comando: ssh usuario@IP_del_servidor O:  ssh usuario@dominio Importante: para conectarse correctamente a un servidor remoto, SSH debe estar instalado y configurado tanto en el servidor remoto como en el equipo desde el cual realizas la conexión. Paso 6 (opcional): crear un par de claves para autenticación segura Para mayor seguridad, considera configurar un par de claves en lugar de depender de la autenticación por contraseña. Para generarlo, usa el siguiente comando: ssh-keygen Paso 7: configurar SSH Después de completar los cinco pasos anteriores, ya puedes conectarte remotamente al servidor. Sin embargo, puedes aumentar aún más la seguridad de la conexión cambiando el puerto por defecto o sustituyendo la autenticación por contraseña por autenticación mediante claves. Estos y otros cambios requieren editar el archivo de configuración de SSH. Las principales configuraciones del servidor OpenSSH se almacenan en el archivo principal sshd_config (ubicación: /etc/ssh). Antes de editar, deberías crear una copia de seguridad del archivo: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial Si después de editar el archivo encuentras errores, puedes restaurar sin problemas el archivo original. Después de crear la copia de seguridad, puedes proceder a editar el archivo de configuración. Para ello, ábrelo con el editor nano: sudo nano /etc/ssh/sshd_config En el archivo, cambia el puerto a uno más seguro. Lo mejor es elegir un valor del rango dinámico de puertos (49152 - 65535) y usar números diferentes por seguridad adicional. Por ejemplo, cambia el valor a 49532. Para hacerlo, descomenta la línea correspondiente en el archivo y cambia el puerto como se muestra en la imagen. Además de esta configuración, se recomienda cambiar el modo de autenticación por contraseña a autenticación por clave. Para hacerlo, descomenta la línea correspondiente y asegúrate de que el valor sea "Yes", como se muestra en la imagen. Ahora, desactiva el inicio de sesión como superusuario cambiando la línea correspondiente como se indica. Otras configuraciones que puedes aplicar para mejorar la seguridad del servidor: UseDNS yes: verifica si el hostname coincide con la dirección IP. PermitEmptyPasswords no: prohíbe el uso de contraseñas vacías. MaxAuthTries: limita los intentos fallidos de conexión en una misma sesión. AllowUsers y AllowGroups: especifican los usuarios y grupos autorizados: # AllowUsers Usuario1 Usuario2 Usuario3# AllowGroups Grupo1 Grupo2 Grupo3 LoginGraceTime: define el tiempo máximo para autenticación. Se recomienda reducir este valor a una cuarta parte. ClientAliveInterval: define el tiempo de inactividad permitido antes de desconectar al usuario. Después de realizar todos los cambios en el archivo de configuración, guárdalo y cierra el editor. Reinicia el servicio para aplicar los cambios: sudo systemctl restart ssh Si cambiaste el puerto, deberás conectarte usando el nuevo puerto: ssh -p numero_de_puerto usuario@IP_del_servidor O: ssh -p numero_de_puerto usuario@dominio Solución de problemas de conexión Asegúrate de que el servicio esté activo con: sudo systemctl status ssh Reinícialo si es necesario: sudo systemctl restart ssh Verifica los ajustes del firewall para permitir tráfico en el puerto 22: sudo ufw allow 22 Confirma que el sistema sea accesible ejecutando: ping <IP_del_servidor> Deshabilitar el servicio Si necesitas deshabilitar el acceso remoto por cualquier motivo, sigue estos pasos: Detener el servicio Para dejar de aceptar conexiones temporalmente: sudo systemctl stop ssh Evitar inicio automático Para impedir que se inicie al arrancar: sudo systemctl disable ssh Confirmar estado inactivo Verifica que el servicio ya no esté en ejecución: sudo systemctl status ssh Desinstalar el servidor Si ya no necesitas el servicio, elimina el servidor SSH y sus archivos asociados: sudo apt remove openssh-server Conclusión Este artículo presenta una guía paso a paso sobre cómo instalar y configurar SSH en Ubuntu 22.04, y describe cómo editar el archivo de configuración principal para mejorar la seguridad. Esperamos que esta guía te ayude a establecer una conexión remota segura con tu servidor Ubuntu. Para saber más sobre claves SSH, haz clic aquí.
26 June 2025 · 8 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