¿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