Comment faire fonctionner la connexion sans mot de passe

12

J'ai généré une clé et l'ai copiée sur ma cible:

ssh-keygen
ssh-copy-id username@hostname

J'ai laissé l'emplacement de la clé par défaut et je n'ai défini aucune phrase secrète.

Pendant un petit moment après cela, j'ai pu ssh username@hostnamesans être invité à entrer un mot de passe, puis il a cessé de fonctionner pour une raison quelconque.

tshepang
la source
2
Voir unix.stackexchange.com/tags/ssh/info… Faisons-en une question de référence dont nous pouvons fermer les autres en double.
Gilles 'SO- arrête d'être méchant'

Réponses:

8

Si l'authentification par clé publique ne fonctionne pas: assurez-vous que côté serveur, votre répertoire personnel ( ~), le ~/.sshrépertoire et le ~/.ssh/authorized_keysfichier ne sont accessibles en écriture que par leur propriétaire . En particulier, aucun d'entre eux ne doit être accessible en écriture par le groupe (même si l'utilisateur est seul dans le groupe). chmod 755ou chmod 700est ok, chmod 770n'est pas.

Que vérifier en cas de problème:

  • Exécutez ssh -vvvpour voir beaucoup de sortie de débogage. Si vous postez une question demandant pourquoi vous ne pouvez pas vous connecter avec ssh, incluez cette sortie (vous pouvez vouloir anonymiser les noms d'hôte et d'utilisateur).
  • Si vous le pouvez, consultez les journaux de serveur, généralement dans /var/log/daemon.logou /var/log/auth.logou similaire.
  • Si l'authentification par clé publique ne fonctionne pas, vérifiez à nouveau les autorisations, en particulier le bit de groupe (voir ci-dessus).
Gilles 'SO- arrête d'être méchant'
la source
Salut, pourquoi authorized_keysne devrait pas être accessible en écriture par le groupe? SSH rejette-t-il cela pour des raisons de sécurité?
Hey
1
@YdobEmos Quiconque peut écrire authorized_keyspeut y ajouter sa propre clé et ainsi se connecter au compte. Donc, seul l'utilisateur doit être autorisé. (Avoir le fichier inscriptible en groupe est en fait sûr si aucun autre utilisateur n'est dans ce groupe, mais il est difficile de détecter de manière fiable lorsque les appartenances à un groupe peuvent provenir de bases de données réseau.)
Gilles 'SO- arrête d'être mauvais'
1

Le répertoire personnel de la cible était 755 drwxr-xr-x. Le modifier pour qu'il soit accessible en écriture de groupe a 775 drwxrwxr-xinterrompu la configuration sans mot de passe.

tshepang
la source
Le même problème ne l'a pas encore résolu.
Vous voulez dire que vous ne pouvez pas obtenir un travail de connexion sans mot de passe, même après avoir rendu le répertoire accessible en écriture au groupe?
tshepang
OUI - veuillez consulter unix.stackexchange.com/q/208152/11085 , CentOS 7 64 bits où j'essaie de me connecter avec mes clés id_rsa mais cela échoue toujours.
0

En supposant RHEL / CentOS et en supposant que vous disposez d'un accès administrateur au serveur distant sur lequel l'utilisateur newusersouhaite effectuer une connexion ssh.

Obtenez newuser'sexistant id_rsa.pubet ayez prêt.

Suis les étapes:

useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/

Essayez newuserde vous connecter.

un codeur
la source