1. Verificar la Instalación de SSH
Asegúrate de que el servidor SSH está instalado y en funcionamiento:
sudo systemctl status ssh
Si no está instalado, instálalo con:
sudo apt update
sudo apt install openssh-server
2. Crear o Verificar la Cuenta de Usuario
Si no existe un usuario específico, créalo:
sudo adduser nombre_usuario
Sustituye nombre_usuario
por el nombre deseado.
3. Configurar el Archivo authorized_keys
- Acceder al Directorio del Usuario: Cambia al directorio del usuario:
cd /home/nombre_usuario
- Crear la Carpeta
.ssh
: Asegúrate de que el directorio.ssh
existe:mkdir -p .ssh
chmod 700 .ssh
- Crear o Actualizar el Archivo
authorized_keys
: Agrega la clave pública al archivo:nano .ssh/authorized_keys
Pega la clave pública y guarda el archivo. Por ejemplo:ssh-rsa AAAAB3...TuClavePública... nombre@equipo
- Establecer Permisos Correctos: Configura los permisos adecuados:
chmod 600 .ssh/authorized_keys
chown -R nombre_usuario:nombre_usuario .ssh
4. Modificar la Configuración de SSH
Edita el archivo de configuración de SSH para asegurarte de que acepta autenticación mediante claves públicas:
sudo nano /etc/ssh/sshd_config
Asegúrate de que las siguientes líneas están configuradas correctamente:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
Reinicia el servicio SSH para aplicar los cambios:
sudo systemctl restart ssh
5. Probar la Conexión SSH
Desde el cliente, intenta conectarte usando la clave privada correspondiente:
ssh -i /ruta/a/tu/clave_privada nombre_usuario@direccion_ip_servidor
6. (Opcional) Configuración Adicional
- Restringir el Acceso SSH: Si quieres permitir el acceso SSH solo a este usuario, agrega esta línea a
sshd_config
:AllowUsers nombre_usuario
Luego reinicia el servicio SSH:sudo systemctl restart ssh
- Configurar Firewall: Si estás utilizando un firewall, abre el puerto SSH (por defecto, 22):
sudo ufw allow ssh
Con estos pasos, tu servidor estará configurado para autenticar a los usuarios mediante claves públicas en el archivo authorized_keys