Ошибка сохранения ключа ssh - PullRequest
       10

Ошибка сохранения ключа ssh

22 голосов
/ 15 сентября 2011

Я только начал учебник по Git и дошел до тупика: я пытаюсь сгенерировать ключевую часть RSA, но она не работает. Я сделал это в git bash:

ssh-keygen -t rsa -C "myemail@myemail.com"

И я получил это:

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.

Я попытался сохранить в другой папке, и все прошло хорошо. но теперь я делаю команду ssh -T git@github.com, и она дает мне ошибку permisson denied (publickey).

Ответы [ 10 ]

25 голосов
/ 01 декабря 2013

Если вы используете Windows, ошибочный путь ssh-keygen по умолчанию в стиле Unix.

В строке 2 написано Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):. Это полное имя файла в параграфах является значением по умолчанию, очевидно, что Windows не может получить доступ к такому файлу. Если вы введете эквивалент Windows (c:\Users\Eva\.ssh\id_rsa), он должен работать.

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "myemail@myemail.com"
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:
... myemail@myemail.com
The key's randomart image is:...`

Я знаю, что это старая ветка, но я подумал, что ответ может помочь другим.

12 голосов
/ 22 декабря 2011

Если вы предпочитаете использовать GUI для создания ключей

  1. Используйте Putty Gen для генерации ключа
  2. Экспорт ключа в виде открытого ключа SSH
  3. Как уже упоминалось в @VonC, создайте каталог .ssh, а затем вы можете поместить туда закрытый и открытый ключи
  4. или использовать программу с графическим интерфейсом (например, Tortoise Git ) для использования ключей SSH

Пошаговое руководство по установке шпатлевки для вышеуказанных шагов см. В http://ask -leo.com / how_do_i_create_and_use_public_keys_with_ssh.html

10 голосов
/ 15 сентября 2011

Похоже, что вы выполняете эту команду из сеанса DOS (см. этот поток ), и это означает, что вам нужно создать каталог .ssh перед указанной командой.

Или вы можете запустить его из сеанса bash (часть дистрибутива msysgit), и он должен работать.

8 голосов
/ 01 апреля 2015

У меня была такая же проблема. Я должен был предоставить полный путь, используя соглашения Windows. На этом шаге:

Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):

Укажите следующее значение:

c:\users\eva\.ssh\id_rsa

4 голосов
/ 26 декабря 2013

Вам необходимо создать папку .ssh для сохранения ключей ssh.

Кстати, я использовал этот стиль пути: C:/Users/you/.ssh/id_rsa

1 голос
/ 14 января 2017

Я боролся с той же проблемой некоторое время только сейчас (используя Mac).Вот что я сделал, и это наконец-то сработало:
(1) Убедитесь, что каталог .ssh существует:

#show all files including hidden
ls -a 

(2) Примите все значения по умолчанию с помощью , просто , нажав Enterприглашение

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

Вы должны получить сообщение:

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 youremail.@email.com
The key's randomart image is:XXXXX

PS Если вы конфигурируете git для rails, выполните следующее ( source ):

git config --global color.ui true
git config --global user.name "yourusername"
git config --global user.email "youremail@email.com"
ssh-keygen -t rsa -C "youremail@email.com" 

(затем примите все значения по умолчанию, нажав Enter)

1 голос
/ 21 января 2015

В Windows мне пришлось создать переменную окружения HOME, указывающую сначала на мой профиль пользователя (C:\Users\<name>) или любой другой каталог, который вы предпочитаете.

Затем запустите новое окно командной строки, создайте каталог .sshв вашем профиле пользователя или в выбранной директории с помощью команды mkdir ".ssh".

После этого я смог использовать ssh-keygen без проблем с путями.

0 голосов
/ 20 мая 2019

Я столкнулся с той же проблемой. Решение по windows:

  1. откройте меню «Пуск» и введите cmd
  2. Справа и выберите запуск от имени администратора
  3. Затем введите cd Users_YOURUSERNAME_ \ Замените " YOURUSERNAME " на имя вашей учетной записи Windows
  4. Тип: mkdir .ssh

Это создаст папку .ssh.

0 голосов
/ 06 августа 2018

Ваш метод должен нормально работать на Mac, но в Windows необходимо выполнить два дополнительных шага.

  1. Создайте новую папку в нужном месте и назовите ее «.ssh». (обратите внимание на закрывающую точку - это исчезнет, ​​но требуется для создания папки, начинающейся с ".")
  2. При появлении запроса используйте путь к файлу в формате C: /Users/NAME/.ssh/id_rsa (обратите внимание, что на .ssh нет закрывающей точки).

Сохранение ключа id_rsa в этом месте должно устранить ошибку разрешения.

0 голосов
/ 07 июля 2014

Я использовал bash на окнах, которые поставлялись с git.Проблема заключалась в том, что я предположил, что тильда (~), которую я использовал для обозначения моего домашнего пути, будет расширяться правильно.Он работает при использовании cd, но чтобы исправить эту ошибку, мне нужно было просто указать ему абсолютный путь.

...