web-dev-qa-db-fra.com

Clé publique SSH ajoutée mais demande toujours un mot de passe

J'ai rencontré une erreur en essayant de configurer afin de pouvoir me connecter à mon HTPC avec mon ordinateur portable, j'ai suivi this guide de l'aide ubuntu

Ceci est mon ~/.ssh/permissions sur mon hôte distant

-rw------- 1 htpc htpc  398 Feb 29 15:16 authorized_keys
-rw------- 1 htpc htpc 1675 Feb 29 15:15 id_rsa
-rw-r--r-- 1 htpc htpc  391 Feb 29 15:15 id_rsa.pub

c'est mon fichier/etc/ssh/sshd_config sur l'hôte distant

# Authentication: 
LoginGraceTime 120 
PermitRootLogin without-password 
StrictModes yes
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile      %h/.ssh/authorized_keys

Lorsque j'essaie d'entrer depuis ma machine locale via SSH, il me demande quand même un mot de passe même si ma clé publique ssh se trouve à l'intérieur des authorised_keys de l'hôte distant.

Journal de débogage lors de la connexion d'une machine locale à HTPC

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/mikeyr/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/mikeyr/.ssh/id_dsa
debug1: Trying private key: /home/mikeyr/.ssh/id_ecdsa
debug1: Trying private key: /home/mikeyr/.ssh/id_ed25519
debug1: Next authentication method: password

J'ai également essayé avec mon routeur et je n'ai aucun problème à le faire fonctionner.

1
MikeyR

Notez que votre /etc/ssh/sshd_config contient la ligne

 StrictModes yes

Indique si sshd doit vérifier les modes de fichiers et la propriété des fichiers et du répertoire de base de l'utilisateur avant d'accepter la connexion. Ceci est normalement souhaitable car les novices laissent parfois leur répertoire ou leurs fichiers en écriture. La valeur par défaut est '' oui ''.

En d’autres termes, votre répertoire personnel ~ sur l’hôte distant doit appartenir à votre groupe (par exemple, cela signifie probablement propriétaire htpc et groupe htpc), et uniquement accessible en écriture pour vous (et potentiellement pour votre groupe): cela signifie aucune écriture dans la dernière colonne ("monde")

$ ls -la ~/
drwxr-xr-x 41 htpc htpc .

Notez que la dernière partie indique r-x (non accessible en écriture), NOT rwx.

S'il y a un rwx dans le dernier triplet, vous devez supprimer les droits d'écriture:

chmod a-w ~

De même pour le dossier ~/.ssh et ~/.ssh/authorized_keys. Je recommanderais chmod 700 ~/.ssh de vous accorder uniquement l'accès au dossier, et chmod 600 ~/.ssh/authorized_keys pour le fichier.

(Voir également https://unix.stackexchange.com/a/16981/5477 pour plus d'outils de débogage côté serveur)

2
Piskvor

Peut-être que lors de la génération de ssh-key, vous avez ajouté un mot de passe à une clé.

Générer une nouvelle clé ssh ssh-keygen

Enter passphrase (empty for no passphrase): <- appuyez sur enter comme par défaut (pas de mot de passe).

Alors ssh-copy-id user@Host

0
Maciej Golkowski