J'ai récemment quitté ma machine Windows et je suis maintenant sous ubuntu 18.04. Cependant, chaque fois que j'essaie de me connecter à mes serveurs distants en utilisant ssh <username>@<serverIp>
Je reçois un Permission refusée (clé publique) erreur. À mon avis, si j'utilise les mêmes clés publiques et privées, cela aurait dû fonctionner, je ne suis pas sûr de ce que je fais de mal ici.
Réponse
Trop de publicités?Les permissions sur les fichiers clés sont trop ouvertes. Ils doivent être définis comme étant réservés au propriétaire. ssh
exige que les permissions soient définies sur le propriétaire uniquement pour des raisons de sécurité. Des permissions trop ouvertes comme 664
, 644
etc. peuvent causer ssh
pour échouer avec l'erreur de permissions.
Ce qui suit définira les permissions en lecture / écriture ou rw-------
pour le propriétaire uniquement :
chmod 600 id_rsa
chmod 600 id_rsa.pub
chmod 600 authorized_keys
Vous pouvez même définir le id_rsa
y el id_rsa.pub
en lecture seule avec une permission de 400
o r--------
. Je recommande de laisser le authorized_keys
y known_hosts
à l'adresse 600
juste au cas où vous auriez besoin d'y ajouter une autre clé depuis un autre ordinateur.