¿Cómo utilizar el inicio de sesión SSH para conectarse a un servidor remoto?
Secure Shell (SSH) es un protocolo que permite acceder y administrar sistemas remotos de forma segura. Cifra la comunicación entre el cliente y el servidor, protegiendo los datos contra accesos no autorizados y reforzando la seguridad del sistema.
SSH proporciona una forma segura y eficiente para que desarrolladores, administradores de sistemas y técnicos IT accedan remotamente a equipos sin necesidad de estar físicamente presentes. Esto mejora la productividad y la gestión de infraestructuras. Además, SSH es sencillo de utilizar y compatible con diversas herramientas y clientes. Más allá del acceso remoto, también puede utilizarse para transferencias de archivos, ejecución de comandos e incluso para tunelización de conexiones.
Esta guía explica cómo utilizar el comando ssh login para conectarse a servidores remotos mediante SSH en Windows, Linux y macOS.
¿Cómo funciona SSH? (How to SSH into Server)
SSH funciona estableciendo una conexión segura entre un cliente y un servidor SSH (sshd).
En la sección anterior, el comando ssh actuaba como cliente, mientras que el sistema remoto ejecutaba el servidor SSH (sshd).
La mayoría de los sistemas Linux inician automáticamente el servidor SSH al arrancar. Sin embargo, si no está en ejecución, puede que necesites acceder al servidor mediante una consola web o local para iniciarlo manualmente.
Iniciar el servidor SSH en Ubuntu
Si el servidor SSH no está activo, puedes iniciarlo con el siguiente comando:
$ sudo systemctl start ssh
Una vez iniciado, puedes conectarte remotamente mediante SSH.
$ sudo systemctl status ssh
¿Cómo usar SSH en Windows?
Si utilizas Windows 10 o una versión posterior, SSH ya viene integrado en el sistema, por lo que su configuración es sencilla.
Activar SSH en Windows 10
Abre Configuración y navega a Aplicaciones > Características opcionales.
Verifica si OpenSSH Client está instalado. Si no lo está, haz clic en Agregar una característica, busca OpenSSH Client e instálalo.
Conectarse a un servidor remoto
Una vez habilitado SSH, puedes conectarte usando PowerShell o el Símbolo del sistema:
ssh username@server_ip
Sustituye username por tu nombre de usuario real y server_ip por la dirección IP del servidor remoto.
Uso de PuTTY en versiones antiguas de Windows
Si utilizas Windows 8 o una versión anterior que no incluye SSH por defecto, puedes utilizar PuTTY, un cliente SSH gratuito con interfaz gráfica:
1. Descarga e instala PuTTY desde la página oficial.
2. Abre el programa e introduce la dirección IP del servidor.
3. Configura el puerto 22 (puerto SSH por defecto).
PuTTY también es una excelente opción si prefieres una interfaz gráfica en lugar de la línea de comandos.
¿Cómo usar SSH Login en Linux?
La mayoría de las distribuciones Linux incluyen SSH preinstalado. Para verificarlo, abre la terminal y ejecuta:
$ssh
Instalar SSH en Linux
Si SSH no está instalado, puedes añadirlo mediante el gestor de paquetes. En distribuciones basadas en Debian como Ubuntu:
$sudo apt-get install openssh-client
Conectarse a un servidor remoto
Una vez instalado, establece una conexión segura ejecutando:
$ssh username@server_ip
Debes reemplazar username por tu usuario real y server_ip por la IP del servidor remoto.
¿Cómo usar SSH en Mac?
Sigue estos pasos para establecer una conexión SSH en macOS:
Haz clic en el icono Terminal en el Dock para abrirlo.
Inicia la conexión SSH usando el siguiente formato:
ssh username@hostname
Por ejemplo, si el usuario es test y el equipo es Centos.local:
ssh test@Centos.local
Confirmar la conexión: si es la primera vez, escribe Yes cuando se solicite verificar la conexión.
Introduce tu contraseña cuando se te solicite para autenticar la sesión.
Finalizar la sesión SSH: para cerrar la conexión, presiona CTRL+D o escribe:
exit
Cerrar la sesión evita el envío accidental de comandos y mejora la seguridad.
Comandos y funcionalidades comunes de SSH
Una vez establecida la conexión SSH, puedes realizar múltiples tareas como tunelización, transferencia de archivos y ejecución remota de comandos.
1. Redirección segura de puertos con SSH
La tunelización SSH permite enrutar tráfico de forma segura entre sistemas locales y remotos. Para configurar un reenvío local de puertos:
ssh -L 8080:localhost:3306 user@192.168.1.110
En este ejemplo, el puerto 8080 de tu equipo local redirige tráfico hacia el puerto 3306 del servidor remoto 192.168.1.110.
2. Transferencia y gestión segura de archivos
SSH soporta transferencias cifradas mediante SCP y SFTP.
- Transferir un archivo desde local a remoto con SCP:
scp report.pdf user@192.168.1.110:/home/user/documents/
Este comando copia de forma segura report.pdf al directorio /home/user/documents/ del servidor remoto.
- Usar SFTP para gestionar archivos remotos:
sftp user@192.168.1.110
Una vez conectado, puedes navegar por directorios y subir o descargar archivos de forma interactiva.
3. Simplificar conexiones con un archivo de configuración
Puedes configurar el archivo SSH (~/.ssh/config) para almacenar configuraciones frecuentes.
Ejemplo:
Host devserver
HostName 192.168.1.110
User user
Port 2222
Después podrás conectarte simplemente con:
$ ssh devserver
4. Ejecutar comandos remotos sin sesión interactiva
Para ejecutar un comando puntual sin iniciar sesión interactiva:
$ ssh user@192.168.1.110 "df -h"
Este comando obtiene información de uso de disco (df -h) del servidor remoto.
¿Cómo iniciar sesión SSH usando claves?
Aunque la autenticación por contraseña permite el acceso, el uso de claves SSH es un método más seguro y eficiente.
¿Cómo funciona la autenticación basada en claves?
Funciona mediante un par de claves criptográficas:
- Private Key: Se almacena de forma segura en el dispositivo del cliente y nunca debe compartirse.
- Public Key: Puede compartirse y colocarse en cualquier servidor al que se desee acceder.
Cuando se intenta una conexión, el servidor remoto envía un mensaje cifrado usando la clave pública. La clave privada del cliente lo descifra y responde verificando la identidad. Este proceso ocurre automáticamente una vez configuradas las claves.
Generar claves SSH
Para generar el par de claves:
$ ssh-keygen -t rsa
Durante el proceso puedes definir una passphrase, aunque es opcional. Presiona Enter para aceptar los valores por defecto.
Las claves se guardarán en ~/.ssh/:
Public key: ~/.ssh/id_rsa.pub
Private key: ~/.ssh/id_rsa
Verificar los archivos generados
cd ~/.ssh
Compruebe los permisos y el contenido de las claves generadas utilizando:
ls -l
Este comando muestra detalles y permisos de los archivos.
¿Cómo desactivar la autenticación por contraseña?
Una vez configuradas las claves SSH, puedes reforzar la seguridad desactivando el acceso por contraseña.
Nota importante: asegúrate de que tu clave pública esté correctamente instalada en el servidor antes de continuar.
Abrir el archivo de configuración:
$ sudo nano /etc/ssh/sshd_config
1. Localiza la línea PasswordAuthentication, elimina el # si existe y cambia el valor a:
PasswordAuthentication no
2. Verifica que estén configuradas las siguientes opciones:
PubkeyAuthentication yes
ChallengeResponseAuthentication no
Guarda el archivo y reinicia el servicio:
$ sudo systemctl reload ssh
Ahora el acceso solo será posible mediante claves SSH.
Buenas prácticas para mejorar la seguridad SSH
1. Utiliza claves SSH o contraseñas robustas. Las claves son más seguras. Si usas contraseña, que sea larga, única y compleja.
2. Desactiva el acceso root directo en /etc/ssh/sshd_config estableciendo:
PermitRootLogin no
3. Cambia el puerto por defecto 22 por uno personalizado para reducir ataques automatizados.
4. Instala herramientas de seguridad como Fail2Ban:
$ sudo apt-get install fail2ban
Estas medidas refuerzan significativamente la seguridad frente a accesos no autorizados.
Conclusión
Dominar SSH es una habilidad esencial para profesionales que trabajan con infraestructuras cloud. En esta guía aprendiste cómo conectar a un servidor remoto usando SSH. A medida que explores sus funcionalidades, descubrirás capacidades avanzadas que simplifican la administración de sistemas.
Gracias a su seguridad robusta, eficiencia y versatilidad, SSH se ha convertido en una herramienta fundamental en múltiples entornos IT.
Despliega tu KVM VPS al instante en 20 ubicaciones globales con BlueVPS. Disfruta de acceso remoto sin restricciones, control total y recursos 100% dedicados mediante virtualización KVM. Elige entre VPS Linux o Windows con todos los principales paneles de control y soporte experto 24/7. Comienza hoy mismo y experimenta un hosting potente y fiable.
Blog