Подтвердить что ты не робот

Sph ключевая фраза ssh работает в Windows, но не в Linux

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

Теперь я установил виртуальную машину 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?

Спасибо за ваши ответы.

4b9b3361

Ответ 1

Клиент SSH Linux (как правило, OpenSSH) не может читать формат PPK, используемый клиентом Windows SSH Putty. Вам нужно сначала преобразовать ключ "PPK", данный вам, в ключ OpenSSH. Установите "putty" в 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.