Je dois utiliser SSH sur ma machine pour accéder à mon site Web et à ses bases de données (création d'un lien symbolique, mais je m'éloigne du sujet).
Problème suivant: j'entre la commande: ssh-keygen -t dsa
Pour générer une paire de clés dsa publique/privée. Je l'enregistre par défaut (/home/user/.ssh/id_dsa
): Et entrez deux fois la phrase secrète
alors je récupère ceci:
AVERTISSEMENT: FICHIER CLÉ PRIVÉ NON PROTÉGÉ!
Les autorisations 0755 pour '/home/etc.ssh/id_rsa' sont trop ouvertes. Il est recommandé que vos fichiers de clés privées ne soient PAS accessibles aux autres. Cette clé privée sera ignorée. mauvaises autorisations: ignorer la clé: [puis le CHEMIN DE FICHIER dans VAR/LIB/SOMEWHERE]
Maintenant, pour contourner cela, j'ai ensuite essayé-
Sudo chmod 600 ~/.ssh/id_rsa Sudo chmod 600 ~/.ssh/id_rsa.pub
Mais peu de temps après que mon ordinateur a gelé, et lors de la reconnexion, il y a eu un could not find .ICEauthority error
. J'ai contourné ce problème et j'ai supprimé les fichiers SSH, mais je veux pouvoir utiliser les autorisations appropriées pour éviter ces problèmes à l'avenir. Comment dois-je configurer ICEauthority, ou où dois-je enregistrer les clés SSH - ou quelles autorisations doivent-ils avoir? Serait-il préférable d'utiliser une machine virtuelle?
Tout cela est très nouveau et je suis sur une courbe d'apprentissage très abrupte, donc toute aide appréciée.
chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub
(c'est à dire. chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
) sont corrects.
chmod 644 ~/.ssh/id_rsa.pub
(c'est à dire. chmod a=r,u+w ~/.ssh/id_rsa.pub
) serait également correct, mais chmod 644 ~/.ssh/id_rsa
(c'est à dire. chmod a=r,u+w ~/.ssh/id_rsa
) ne serait pas. Votre clé publique peut être publique, ce qui compte, c'est que votre clé privée soit privée.
Aussi votre .ssh
le répertoire lui-même doit être accessible en écriture uniquement par vous: chmod 700 ~/.ssh
ou chmod u=rwx,go= ~/.ssh
. Vous devez bien sûr pouvoir le lire et y accéder aux fichiers (autorisation d'exécution). Il n'est pas directement dangereux si les autres peuvent le lire, mais il n'est pas utile non plus.
Vous n'avez pas besoin de Sudo
. N'utilisez pas Sudo
pour manipuler vos propres fichiers, cela ne peut conduire qu'à des erreurs.
L'erreur sur .ICEauthority
n'est pas lié aux commandes chmod
que vous affichez. Soit c'est une coïncidence, soit vous avez exécuté d'autres commandes que vous ne nous montrez pas.
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
ou
# u: user r: read
# g: group w: write
# o: others x: execute
chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
Vous pouvez également rendre votre clé publique lisible
chmod 644 ~/.ssh/id_rsa.pub # chmod a=r,u+w ~/.ssh/id_rsa.pub
mais pas votre clé privée. Il est donc obligatoire d'avoir:
chmod 600 ~/.ssh/id_rsa # chmod a=r,u+w ~/.ssh/id_rsa
Aussi votre .ssh
le répertoire lui-même doit être accessible en écriture uniquement par vous:
chmod 700 ~/.ssh
ou
chmod u=rwx,go= ~/.ssh
Vous devez bien sûr pouvoir le lire et y accéder aux fichiers (exécuter la permission):
il n'est pas directement nocif si les autres peuvent le lire, mais il n'est pas utile non plus.
Vous n'avez pas besoin de Sudo
. N'utilisez pas Sudo
pour manipuler vos propres fichiers, cela ne peut conduire qu'à des erreurs.
L'erreur sur .ICEauthority n'est pas liée aux commandes chmod que vous affichez. Soit c'est une coïncidence, soit vous avez exécuté d'autres commandes que vous ne nous montrez pas.
Je veux ajouter aux réponses ci-dessus que pour moi mon répertoire personnel (~/
) devait également disposer des autorisations 755
, quelles que soient les autorisations de ~/.ssh
et les fichiers qu'il contient. (C'était sur un Synology NAS, peut ne pas s'appliquer à tous les linux)