web-dev-qa-db-fra.com

SSH: "Les autorisations 0644 pour 'my_key.pub' sont trop ouvertes."

Pourquoi 0644 i.e. -rw-r--r-- est-il trop ouvert pour une clé SSH? De plus, je n'ai trouvé aucune fausse autorisation sur le répertoire .ssh (0700) ou le répertoire de base (0731).

Btw je reçois cette erreur lorsque je teste la paraphrase d'une clé via ssh-keygen -y -f my_key.pub

Meilleures salutations

14
user2820379

Vous exécutez peut-être ssh-keygen sur le mauvais fichier. ssh-keygen -y fonctionne sur un fichier de clés privé. Les fichiers ".pub" contiennent normalement la clé publique. Vous y avez probablement un fichier nommé my_key, sans aucune extension, et il devrait s'agir du mode 0600. C'est le fichier qui doit contenir la clé privée.

Pour répondre directement à votre question, les clés SSH sont généralement utilisées pour permettre la connexion à des serveurs distants sans mot de passe. La possession de la clé privée permettrait à quelqu'un de se connecter à votre compte sur n'importe quel système acceptant la clé. ssh-keygen et les autres utilitaires ssh exigent que les fichiers de clé privée aient des autorisations restreintes car ils sont sensibles et doivent rester sécurisés.

5
Kenster

0644 n'est pas censé être trop ouvert pour une clé publique, mais est trop ouvert pour votre clé privée.

Votre clé privée doit avoir la permission 0600 tandis que votre clé publique a la permission 0644.

Au fait, vous devriez aussi vous occuper de l’autorisation sur le dossier .ssh. Il devrait avoir l'autorisation 0700, de sorte que seul vous, le propriétaire, contrôlez le dossier.

En ce qui concerne votre répertoire personnel, les droits en écriture ne sont pas censés être accordés au groupe ni aux autres.

Exécuter chmod go-w /home/username devrait résoudre ce problème.

10
pallxk

La seule commande à exécuter est chmod 600 ~/.ssh/id_rsa. C'est tout.

Cela modifie les autorisations sur le fichier afin que le propriétaire (vous) puisse le lire et l'écrire, ce qui supprimera le message d'erreur que vous recevez.

4
niftylettuce

Les réponses ci-dessus sont valides, mais avant d'exécuter chmodpour corriger les autorisations, assurez-vous simplement que votre IdentityFilename __ (s) dans ~/.ssh/config fait référence à votre clé privée. Les novices pourraient mal interpréter cela et se référer à la clé publique (avec l'extension .pub), ce qui entraînerait la même erreur (car les autorisations du fichier de clé publique sont trop ouvertes pour une clé privée).

0
Javarome