53 votes

bash : /home/user/.ssh/authorized_keys : Aucun fichier ou répertoire de ce type

Créer une clé ssh :
Commandement :

ssh-keygen -t rsa –P ""

Déplacement de la clé vers la clé autorisée :
Commandement :

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory

108voto

Louis Matthijssen Points 11247

Vous devez créer le .ssh et le répertoire authorized_keys la première fois.

  1. Créer le .ssh répertoire :

    mkdir ~/.ssh
  2. Définir les bonnes autorisations :

    chmod 700 ~/.ssh
  3. Créer le authorized_keys fichier :

    touch ~/.ssh/authorized_keys
  4. Définir les bonnes autorisations :

    chmod 600 ~/.ssh/authorized_keys

Les autorisations sont importantes ! Il ne fonctionnera pas sans les bonnes autorisations !

Vous pouvez maintenant ajouter le clé publique à la authorized_keys fichier :

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Vous devez ajouter la clé publique de votre ordinateur à la authorized_keys du fichier l'ordinateur auquel vous souhaitez accéder à l'aide des clés SSH !


Comme l'a mentionné Terdon, vous pouvez également utiliser cette commande :

ssh-copy-id user@host

Cela mettra votre id_rsa.pub (dans votre ~/.ssh ) dans le répertoire authorized_keys en créant le fichier .ssh et authorized_keys avec les bonnes permissions si nécessaire.

4voto

Shivam Sharma Points 141

Comme je n'ai pas assez de réputation, je l'ajoute ici. En plus de la réponse de Louis Matthijssen, si vous n'êtes toujours pas en mesure de vous connecter via ssh en tant qu'utilisateur que vous avez créé, comme par exemple

ssh username@host

cela peut s'expliquer par l'absence de autorisation du propriétaire que vous devez ajouter à votre dossier /home/username/.ssh. J'ai eu le même problème et vous pouvez donner cette permission comme :

chown -R username:username /home/username/.ssh

Cela est probablement dû au fait que vous avez créé le répertoire et que vous avez défini les droits d'accès comme suit racine mais pas en tant que Nom d'utilisateur avec laquelle vous souhaitez accéder au serveur.

J'espère que cela aidera quelqu'un.

3voto

KalenGi Points 325

Dans le cas où la clé publique vous a été envoyée par courrier électronique pour que vous l'installiez sur un serveur distant :

1) Connectez-vous au serveur par SSH. J'ai utilisé PuTTY sous Windows.

2) Configurer la clé :

mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

Veillez à copier exactement la clé et à la coller dans une nouvelle ligne de la fenêtre de l'éditeur. Vérifiez qu'elle occupe une seule ligne et enregistrez.

chmod 600 ~/.ssh/authorized_keys

0voto

user282070 Points 131

Essayer

 touch $HOME/.ssh/authorized_keys

pour créer un fichier vide avec les droits de cet utilisateur.

Ce fichier est créé lorsque vous accédez pour la première fois à un hôte distant avec cet utilisateur.

0voto

Cela peut également échouer si, lors de la création de la clé avec ssh-keygen vous lui donnez un nom de fichier. J'ai saisi un nom my-ssh-file-name et il a écrit la clé de /Users/MyUserName au lieu de la .ssh dossier. Si vous laissez le nom de fichier vide, le fichier sera écrit dans .ssh comme prévu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X