Aquí van algunos consejos para proteger el acceso remoto a un servidor linux, corriendo Secure Shell (SSH).
NOTA: el archivo de configuración, al menos en Debian, se encuentra situado en /etc/ssh/sshd_config.
root no pueda acceder via SSH. Siempre podremos escalar privilegios, una vez hayamos accedido al servidor, a través de su o sudo, pero es importante que el usuario root no pueda acceder directamente desde el servidor SSH.PasswordAuthentication No), aumentaremos la seguridad, dejando el acceso solamente a través de pares de claves públicas y privadas (si has usado alguna vez un programa de cifrado tipo GPG o similar ya sabrás a qué me refiero).man sshd_config te te permitirá profundizar más en las directivas de configuración./etc/ssh/sshd_config) está configurado correctamente:# Desactivamos la autenticación via usuario/clave:
PasswordAuthentication No
# Activamos la autenticación con pares de claves:
PubkeyAuthentication yes
# Definimos el archivo donde irán las claves de acceso autorizadas.
# Como mi partición <em>home</em> está cifrada, defino que las claves se almacenen,
# de manera centralizada, dentro de /etc/ssh. Hay más información al respecto
# (importante el tema de los permisos en las carpetas) en la siguiente URL:
# https://help.ubuntu.com/community/SSH/OpenSSH/Keys
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
# Activamos la atenticación RSA
RSAAuthentication yesssh-keygen -t rsa (si estamos bajo GNU/Linux), o usando el programa puttygen.exe del cliente PuTTY (si estamos en un entorno MS Windows). Para este ejemplo, suponemos que hemos llamado a la clave pública ssh-publico.key y a la clave privada ssh-privada.key.ppk.
Para subir la clave pública a nuestro servidor SSH, haremos uso de la utilidad scp (pscp si usamos PuTTY): scp ssh-publico-key usuario@nuestroservidor:/etc/ssh/usuario.
Reiniciamos el servidor sshd y voilà, ya podemos acceder usando el par de claves RSA.
Teneis más información sobre este último tema en los siguiente enlaces: