Paseamos por los servidores con la misma clave de ssh

En muchas ocasiones me encontraba en situaciones cuando tenia que entrar en un servidor y desde allí entrar en el otro. Por ejemplo, si tengo que copiar algunos archivos de un servidor a otro con scp o rsync. Durante mucho tiempo cada vez que me encontraba en estas situaciones, tenia que crear una clave adicional que autorizaría el login desde servidor1 a servidor2. Resulta que podría ahorrar mucho tiempo si leería el manual de openssh atentamente. En particular, tenia que fijarme en el "ssh-agent forwarding".

El ssh-agent forwarding se activa con estas dos lineas en el config de ssh /etc/ssh/ssh_config:
Host *
ForwardAgent yes

Estas opciones dan permiso al servidor de «propagar» vuestra clave con la que habéis autorizado a otros servidores. En otras palabras, vais a poder hacer lo siguiente con la única clave que esta almacenada en vuestro portátil:
user@laptop:~$ ssh root@server1
root@server1:~# ssh root@server2
root@server2:~# ssh root@server3
root@server3:~# ssh root@server4
root@server4:~# ... 

sshguard: protegemos el SSH contra ataques "brute force"

El programa sshguard sirve para proteger el servicio SSH contra ataques «brute force». Es decir, cuando uno va probando contraseña por contraseña, a ver si alguna es valida. Uno podría decir "¿Y a mi que mas da? Que lo intente. Tengo una contraseña de 20 símbolos". Lo que pasa es que hay otro problema mas con este tipo de ataques. Es que los registros del sistema se llena de mensajes de un intento de conectarse por SSH con contraseña incorrecta. La solución que voy a proponer también soluciona este problema.

No hay que hacer muchas cosas para poner el sshguard en marcha.

1. Instalación:
sudo apt-get install sshguard

2. Inicio:
sudo service sshguard start

3. Añadimos esta regla a firewall:
iptables -A INPUT -p tcp --dport 22 -j sshguard

Ahora todos los intentos de conectar por SSH a nuestro servidor pasaran primero por la cadena «sshguard» de firewall. Esta cadena se crea por sshguard en el arranque. Allí sshguard ira añadiendo reglas de bloqueo de las direcciones IP que intentan averiguar la contraseña.