Gracias por amar mis artículos sobre SSH en mi blog. Al ver las estadísticas, parece que muchas personas están interesadas en SSH, pero ha faltado una guía integral sobre "¿Cómo configurar de forma segura desde el principio?".
SSH (Secure Shell) no es solo una herramienta de acceso remoto. Para los desarrolladores, es un salvavidas en la gestión del servidor, y para los usuarios comunes, es una poderosa herramienta que permite acceder a su computadora desde cualquier lugar y en cualquier momento.
Hoy voy a resumir cómo "empezar correctamente" con SSH, y más allá de los conceptos básicos, incluiré configuraciones de seguridad y conocimientos imprescindibles desde la perspectiva de un profesional.
1. ¿Qué es SSH y por qué es esencial?
SSH, que significa Secure Shell, es un protocolo que permite iniciar sesión en otro computador en la red, ejecutar comandos y transferir archivos. La clave es 'cifrado'. A diferencia del antiguo Telnet, toda la comunicación se cifra, por lo que, aunque alguien intercepte los datos, no podrá entender el contenido.
-
Desarrolladores: Es esencial para el despliegue y gestión de servidores en la nube como AWS y Azure.
-
No desarrolladores: Permite controlar de forma segura, desde el exterior, PCs, NAS, Raspberry Pi, etc., que están en casa.
2. Configuración del servidor (Remoto): primer paso hacia la seguridad
Instalar openssh-server en el servidor (remoto) es solo el principio. Usar la configuración por defecto inmediatamente después de la instalación es muy vulnerable desde el punto de vista de la seguridad.
La ubicación del archivo de configuración en Linux es /etc/ssh/sshd_config. Debe modificar este archivo para implementar, al menos, una mínima seguridad.
Modificar el archivo de configuración:
sudo nano /etc/ssh/sshd_config
Configuración práctica 1: Cambiar el puerto básico (Cambio de puerto)
SSH utiliza globalmente el puerto 22. Los bots automatizados de hackers atacan concentradamente el puerto 22. Solo al cambiar el número de puerto, puede evitar más del 90% de los ataques de fuerza bruta.
# Port 22 <-- comentar o borrar
Port 22022 # Se recomienda usar un número de puerto arbitrario mayor a 1024
Configuración práctica 2: Bloquear la autenticación por contraseña (Autenticación de contraseña No)
Las contraseñas eventualmente pueden ser vulneradas. Se debe utilizar el método de SSH Key (clave), que tiene un nivel de seguridad mucho más alto, y una vez que se complete la configuración de claves, se debe bloquear el acceso con contraseña.
PasswordAuthentication no
⚠️ Advertencia: Esta configuración debe aplicarse solo después de verificar que el acceso con clave SSH funciona correctamente. De lo contrario, es posible que se bloquee completamente el acceso al servidor.
3. Configuración local (Cliente): consejos para la creación y registro de claves
Ahora es el momento de crear la llave para acceder al servidor desde mi PC (local). A partir de aquí, se necesita la experiencia de un usuario experimentado.
Consejo 1: Crear claves identificables (-C opción)
Cuando genere la clave, no se limite a escribir solo ssh-keygen. Más tarde, cuando tenga muchas claves, será difícil diferenciar cuál se usa para qué. Asegúrese de usar la opción de comentario (Comment).
# -t ed25519: método de cifrado más reciente (excelente en velocidad y seguridad)
# -C: ayuda a identificar agregando un comentario al final del archivo de clave.
ssh-keygen -t ed25519 -C "my-macbook-pro-home-server-key"
La clave generada se guarda en el directorio ~/.ssh/. (id_ed25519: clave privada, id_ed25519.pub: clave pública)
Consejo 2: La manera más fácil de copiar claves (ssh-copy-id)
Deberá registrar la clave pública generada (pub) en el servidor. Haga esto rápidamente con un solo comando, sin necesidad de copiar y pegar texto.
# Sintaxis: ssh-copy-id -i [ruta de clave pública] [cuenta]@[dirección del servidor] -p [puerto]
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.1.100 -p 22022
# Si el servidor está vinculado a un dominio DNS, también puede usar el DNS en lugar de introducir la IP. Esto es porque el servidor DNS configurado en su router convertirá el DNS en la IP.
ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@wonderland.com -p 22022
Este comando agrega automáticamente su clave pública al archivo ~/.ssh/authorized_keys del servidor.
Consejo 3: Puntos a tener en cuenta al registrar manualmente (problemas de permisos)
Si no puede usar ssh-copy-id y debe registrar manualmente, preste atención a los permisos de archivo (Permission). SSH rechazará el acceso si los permisos son demasiado abiertos por razones de seguridad.
Después de acceder al servidor, verifique lo siguiente en su directorio personal:
-
.sshcarpeta: Permisos700(solo yo puedo leer/escribir/ejecutar) -
authorized_keysarchivo: Permisos600(solo yo puedo leer/escribir)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Si desea aprender más sobre los permisos del sistema de archivos de Linux, haga clic aquí para obtener más información.
4. Prueba de conexión y siguiente paso
Una vez que todo esté listo, intente conectarse. Dado que ha cambiado el puerto, deberá usar la opción -p.
ssh -p 22022 user@192.168.1.100
# No importa si es IP LAN, IP WAN o dominio DNS. Mientras apunte claramente al servidor, está bien.
Si se conecta directamente sin solicitar una contraseña, ha tenido éxito. Ahora complete la seguridad configurando PasswordAuthentication no en sshd_config del servidor.

Ahora tiene un entorno seguro para controlar su servidor. Sin embargo, el mundo de SSH es amplio. Aprenda a automatizar conexiones, gestionar archivos e integrar herramientas de seguridad más robustas en los siguientes artículos.
📖 Guías avanzadas recomendadas para leer juntos
-
Uso de SSH: ¡Dominio total desde la escritura de comando hasta opciones útiles!
-
Primer paso hacia la automatización de SSH: dominar el archivo de configuración
En el próximo post, abordaré cómo conectarse al servidor con una sola palabra utilizando el archivo de configuración SSH Config, un método muy útil que confunde a muchas personas, que también se trata en el segundo artículo. Si le ha sido de ayuda, también considere revisar otros artículos.
No hay comentarios.