La clé privée ssh fonctionne pour la racine, mais pas pour l'utilisateur normal

5

J'ai un serveur Linux (Ubuntu 12) et un bureau Windows.

j'essaie de me connecter via ssh et clé privée

le serveur a ces fichiers

rw------- root.root /root/.ssh
rw------- root.root /root/.ssh/authorized_keys

rw------- user2.user2 /home/user2/.ssh
rw------- user2.user2 /home/user2/.ssh/authorized_keys

(c’est-à-dire chmod 600 pour le répertoire .ssh ET le fichier auth-key)

Le contenu de "registered_keys" est une copie pour root et utilisateur2. Seule la propriété est différente.

Lorsque vous essayez de vous connecter depuis le bureau:

ssh -i mykey [email protected]   -- works, meaning the key is OK.
ssh -i mykey [email protected]   -- doesn't work, for the same "mykey" file!

(La clé privée échoue, mais la connexion par mot de passe fonctionne quand même, donc le serveur n'accepte pas du tout cet utilisateur.)

Qu'est-ce qui pourrait être différent entre la racine et l'utilisateur2?

(J'ai aussi essayé plink, la version de mastic pour "ssh'ing", avec le fichier PPK - mêmes résultats, donc ce n'est pas un bogue dans ssh :) je pense. )

Modifier:

L'erreur spécifique avec ssh:

L'authenticité de l'hôte '[myhost.org]: 22 ([1.7.1.2]: 22)' ne peut être établie

Plink: "Le serveur a refusé notre clé"

(ip / port / host dans ce msg sont des faux)

Berry Tsakala
la source
4
Comme par stackoverflow.com/questions/6377009/… le répertoire .ssh doit avoir 700 autorisations.
Martin Prikryl
Merci, c'était correct. cela a résolu mon problème, mais je me demande encore pourquoi il y a une différence entre root et "user2", et pourquoi je n'ai jamais rencontré le besoin de 700 ces dix dernières années!
Berry Tsakala
1
Je suppose que cette racine a toutes les autorisations implicitement.
Martin Prikryl
@MartinPrikryl: pourriez-vous s'il vous plaît faire votre commentaire une réponse, de sorte que la question ne reste pas sans réponse?
Cristian Ciupitu
@CristianCiupitu Ok, c'est fait.
Martin Prikryl

Réponses:

4

Comme question ~ / .ssh / registered_keys ne fonctionne pas correctement , la .ssh le répertoire doit avoir 700 autorisations.

La raison pour laquelle cela fonctionne pour root même si les autorisations ne sont pas correctement définies est que root dispose d'autorisations implicites pour tout.

Martin Prikryl
la source
C'est toujours bizarre de se connecter en tant qu'utilisateur non root et de constater qu'il y a des fichiers dans lesquels vous ne pouvez pas écrire ^^
mveroone