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?
Спасибо за ваши ответы.
Ответы
Ответ 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.