2012-03-09 2 views
28

Я работаю над проектом в git. В Windows я использую git-расширения для управления этим проектом, а для доступа к публичному репозиторию они дали мне ключ .ppk. Я загружаю его в расширение git, с кодовой фразой, которую они мне дали, и это работает.ssh key passphrase работает в окнах, но не в Linux

Теперь я установил виртуальную машину linux (ubuntu-32bit), и я хочу получить доступ также к этой машине в репозиторий.

Из другого потока, который я видел на этом сайте, я использую, чтобы клонировать репозиторий, выполните следующую команду:

ssh-agent bash -c 'ssh-add /home/myHome/mykey.ppk; git clone [email protected]:project.git' 

Затем оболочка говорит мне, чтобы вставить парольную фразу

Enter passphrase for /home/myHome/mykey.ppk: 

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

Заранее благодарим за ваши ответы.

+0

Команда, которую вы используете для клонирования репозитория, выглядит несколько странно. Это ошибка разметки в вашем вопросе? Если нет, сначала вам следует сначала ознакомиться с командной строкой Linux. – lunaryorn

+1

Я проверил здесь команду в другом потоке и использует закрытый ключ без сохранения его в конфигурацию ssh. – Jepessen

ответ

55

Клиент SSH для Linux (как правило, OpenSSH) не может читать формат PPK, используемый клиентом Windows SSH Putty. Вам нужно сначала преобразовать ключ «PPK», данный вам, в ключ OpenSSH. Установить «замазку» на Linux и использовать инструмент puttygen командной строки:

$ sudo aptitude install putty 
$ mkdir -p ~/.ssh 
$ puttygen ~/mykey.ppk -o ~/.ssh/id_rsa -O private-openssh 

Введите кодовую фразу, и вы получите ключ OpenSSH-совместимый в стандартном месте ~/.ssh/id_rsa. Впоследствии вы можете просто использовать ssh-add (без каких-либо аргументов!), Чтобы добавить этот ключ к агенту SSH.

В качестве альтернативы вы можете использовать программу PUTTYgen, предоставляемую шпатлевкой в ​​Windows.

+0

Спасибо, что решил мою проблему! – Jepessen

+0

Спасибо, это сработало для меня. –

+4

Спасибо. Хороший путеводитель. Я использовал окна PUTTYGen. Я загрузил файл ключа и перешел в «Конверсии> Экспорт ключа OpenSSH», а затем сохранил его как .pem –