Un parell de tricks per l’SSH un pel servidor (sshd) i l’altre pel client (ssh).
Si volem deixar accedir només a alguns usuaris al nostre sistema via SSH s’ha de posar al fitxer /etc/ssh/sshd_config la comanda AllowUsers. Aquest eginy l’he extret de Restrict SSH per user.
Un exemple:
AllowUsers root oysteivi otheradmin
L’altre enginy és molt útil quan programem scripts que usen per exemple: scp, rsync o d’altre similars. A vegades per molt que usem un sistema d’autenticació per clau pública amb ssh això no és suficient perquè hi pot haver un conflicte den la fingerprint que tenim guardada (o no) del servidor on anem a connectar. Llavors se’ns pregunta si volem guardar aquesta fingerprint sinó la tenim guardada o si assumim que hi ha conflicte entre la fingerprint guardada i la que ens esta enviant el sevidor. Per més detalls sobre el problema podeu consultar aquest article de securityfocus SSH Host Key Protection. A més segur que aquest exemple ajudarà a refrescar la memòria sobre el que em refereixo.
$ ssh ssh-server.example.com
The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)? yes
Per tal de controlar el comportament d’aquest event ho podem fer amb el paràmetre StrictHostKeyChecking=[yes|no|ask], això ho podem posar a /etc/ssh/ssh_config o bé a la línia de comandes a través del flag -o.
Exemple forçant la comprovació:
$ ssh -o 'StrictHostKeyChecking=yes' ssh-server.example.com
No RSA host key is known for localhost and you have requested strict checking.
Host key verification failed.
Exemple preguntant la comprovació:
$ ssh -o stricthostkeychecking=ask ssh-server.example.com
The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)? yes