Certains points de configuration sont importants pour permettre les accès entre deux serveurs UNIX via SSH.
Il ne suffit pas de copier la clé id_rsa.pub dans le fichier $HOME/.ssh/authorized_keys pour que la commande SSH se fasse sans demande de mot de passe.
Notamment, il faut vérifier les droits des répertoires et objets de .ssh ou même le HOME directory de l'utilisateur source( 755 au lieu de 775).
| SOURCE | ||
| Objet | Elément | Valeur |
| /etc/ssh/ssh_config | Droits | 600 |
| $HOME/.ssh | Droits | 700 |
| $HOME/.ssh/id_rsa.pub | Droits | 600 |
| DESTINATION | ||
| Objet | Elément | Valeur |
| /etc/ssh/sshd_config | Droits | 600 |
| /etc/ssh/sshd_config | StrictModes | no |
| $HOME/.ssh | Droits | 700 |
| $HOME/.ssh/authorized_keys | Droits | 600 ou 644 |
| $HOME/.ssh/authorized_keys | Contenu | Clé id_rsa.pub de la SOURCE |
| $HOME | Droits | 755 et non 775 |
| Diagnostic | ssh -vvv dest_name date | sshd -t # tests du fichier sshd_config |
| sshd -T # Affichage valeurs actuelles |
Regarder dans le fichier SYSLOG défini dans /etc/syslog.conf pour voir si vous n'avez pas un message comme celui-ci :
send_pubkey_test: no mutual signature algorithm
Cela indique un décalage entre ce que propose le client et le serveur.
Tester le changement par la commande :
# ssh -o PubkeyAcceptedAlgorithms=+ssh-rsa NomServeur
Si cela fonctionne, alors, vous devez ajouter dans le fichier /etc/ssh/ssh_config la ligne suivante :
PubkeyAcceptedAlgorithms +ssh-rsa