-
ssh sans password
Je cherche quelque chose qui aurait pu m'échapper dans la configuration suivante.
je veux qu'un serveur (A) (redhat) puisse éxécuter des crons sur un serveur fraichement installé (B) (AIX 5.3). Pour cela, je veux pouvoir effectuer des ssh à partir de (A) sur (B) sans avoir besoin de taper le mot de passe root.
J'ai d'autres serveurs de type (B) sur lesquels je n'ai pas besoin de taper le mot de passe root lorsque je fais un ssh à partir du serveur (A).
Pour la config de mon serveur (B), j'ai copié (avec scp)
/etc/ssh/authorized_keys/root_keys
ainsi que
/etc/ssh/sshd_config (dans lequel on trouve
"AuthorizedKeysFile /etc/ssh/authorized_keys/%u_keys"
"SyslogFacility AUTH"
"PermitRootLogin yes"
J'ai vérifié que les permissions de /etc/ssh/authorized_keys et /etc/ssh/authorized_keys/root_keys soient identiques sur les 2 serveurs de type (B).
après un # stopsrc -s sshd ; startsrc -s sshd
je lance un ssh à partir de (A), mais le mot de passe m'est toujours demandé.
Je n'arrive pas à trouver plus d'informations concernant ssh sans password, et je sèche maintenant.
Toute suggestion est la bienvenue, merci d'avance.
-
Voici le 1er niveau de debug que j'obtiens avec la commande ssh -v
pas bon :
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
Sur un autre serveur, bon :
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Apparement, le serveur n'accepte pas la clef publique... pour une raison encore inconnue...
-
Sur le serveur (Machine B donc)
Au dessous de
#StrictModes yes (commenté)
j'ai ajouté
StrictModes no
puis redémarré le deamon sshd :
stopsrc -s sshd ; startsrc -s sshd
Ca marche...
-
StrictModes no est à éviter car il empêche la vérification que SSH effectue sur les fichiers et les répertoires pour s'assurer que les clés publiques et privées ne sont pas compromises
Extrait de la manpage de SSH:
StrictModes
Specifies whether sshd(8) should check file modes and ownership
of the user's files and home directory before accepting login.
This is normally desirable because novices sometimes accidentally
leave their directory or files world-writable. The default is
``yes''. Note that this does not apply to ChrootDirectory, whose
permissions and ownership are checked unconditionally.
A ne jamais laisser en production donc :-p
Si votre connexion SSH fonctionne en StrictModes no et pas en StrictModes yes (ou instruction quotée), vérifier les permissions :
- 755 sur l'arborescence de répertoires contenant le répertoire .ssh
- 700 sur le répertoire .ssh
- 600 sur les clés publiques et clés privées
- et la propriété de tout ce monde là au user qui exécute la commande ssh