web-dev-qa-db-fra.com

L'enregistrement de la clé ssh échoue

je viens de commencer un tutoriel sur Git et j'arrive à un point mort: j'essaie de générer une partie clé rsa et elle échoue .

ssh-keygen -t rsa -C "[email protected]"

Et j'ai eu ceci:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
enter passphrase:
enter same passphrase again:
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory.
Saving the key failed:/c/Users/Eva/.ssh/id_rsa.

J'ai essayé de sauvegarder dans un autre dossier et tout s'est bien passé. mais maintenant je fais la commande ssh -T [email protected] et cela me donne l'erreur permisson denied (publickey). 

22
Eva Dias

Si vous préférez utiliser une interface graphique pour créer les clés

  1. Utiliser PuTTY Gen pour générer une clé
  2. Exporter la clé en tant que clé SSH ouverte
  3. Comme mentionné par @VonC, créez le répertoire .ssh et vous pourrez y déposer les clés privées et publiques.
  4. Ou utilisez un programme graphique (comme Tortoise Git ) pour utiliser les clés SSH

Pour un aperçu de PuTTY gen pour les étapes ci-dessus, veuillez consulter http://ask-leo.com/how_do_icreate_and_use_public_keys_with_ssh.html

11
First Zero

Si vous utilisez Windows, le chemin d'accès par défaut de style unix de ssh-keygen est en cause.

Dans la ligne 2, il est indiqué Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):. Ce nom de fichier complet dans les parenthèses est la valeur par défaut, de toute évidence, Windows ne peut pas accéder à un fichier de ce type. Si vous tapez l'équivalent Windows (c:\Users\Eva\.ssh\id_rsa), cela devrait fonctionner.

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:\Users\Administrator\.ssh\id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator\.ssh\id_rsa.
Your public key has been saved in C:\Users\Administrator\.ssh\id_rsa.pub.
The key fingerprint is:
... [email protected]
The key's randomart image is:...`

Je sais que c'est un vieux fil, mais je pensais que la réponse pourrait aider les autres.

24
csaba.sulyok

Il semble que vous exécutiez cette commande à partir d'une session DOS (voir ce fil ), ce qui signifie que vous devez créer le répertoire .ssh avant ladite commande.

Ou vous pouvez l'exécuter à partir de la session bash (une partie de la distribution msysgit), et cela devrait fonctionner.

10
VonC

Vous devez créer vous-même le dossier .ssh pour enregistrer les clés ssh.

Au fait, j'ai utilisé ce style de chemin: C:/Users/you/.ssh/id_rsa

3
whenov

Sous Windows, je devais créer la variable d'environnement HOME pointant d'abord sur mon profil d'utilisateur (C:\Users\<name>) ou dans le répertoire de votre choix.

Ensuite, démarrez une nouvelle fenêtre de ligne de commande, créez un répertoire .ssh dans votre profil utilisateur ou choisissez le répertoire à l'aide de la commande mkdir ".ssh".

Après cela, j’ai pu utiliser ssh-keygen sans aucun problème de chemin.

1
Mario Neubauer

Je me suis battu avec le même problème pendant un moment tout à l'heure (en utilisant Mac). Voici ce que j'ai fait et cela a finalement fonctionné:
(1) Vérifiez que le répertoire .ssh existe:

#show all files including hidden
ls -a 

(2) Acceptez toutes les valeurs par défaut en juste en appuyant sur Entrée à l'invite.

Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

Vous devriez recevoir un message:

Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected]
The key's randomart image is:XXXXX

PS Si vous configurez git pour Rails, procédez comme suit ( source ):

git config --global color.ui true
git config --global user.name "yourusername"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]" 

(puis acceptez toutes les valeurs par défaut en appuyant sur Entrée)

1
Tanya Gupta

J'utilisais bash sur les fenêtres fournies avec git. Le problème était que je supposais que le tilde (~) que j'utilisais pour indiquer que mon chemin personnel s’étendait correctement. Cela fonctionne avec cd, mais pour corriger cette erreur, je devais lui donner le chemin absolu.

0
Despertar

Votre méthode devrait fonctionner correctement sur un Mac, mais sous Windows, deux étapes supplémentaires sont nécessaires.

  1. Créez un nouveau dossier à l'emplacement souhaité et nommez-le ".ssh". (notez le point de fermeture - cela disparaîtra, mais est nécessaire pour créer un dossier commençant par ".")
  2. Lorsque vous y êtes invité, utilisez le format de chemin de fichier C: /Users/NAME/.ssh/id_rsa (ne notez aucun point de fermeture sur .ssh).

L'enregistrement de la clé id_rsa à cet emplacement devrait résoudre l'erreur de permission.

0