
Возможный дубликат:
Как преобразовать ключ .ppk в ключ OpenSSH *под Linux*?
(unix, здесь: ubuntu 10.4)
Я знаю, как создавать пары ключей SSH в Unix (ssh-keygen) и как делать это в Windows (puttygen). В моем случае не хватает только того, как использовать пару ключей, сгенерированную в Windows (puttygen), в оболочке Unix.
куда мне нужно поместить открытый ключ, в данном конкретном случае, чтобы использовать его как ssh-ключ в git.
решение1
В зависимости от того, какой ключ вам нужен...
Закрытый ключ – для входа в системуотсистему Unix в другую систему Unix
Сначала необходимо преобразовать ключ с помощью PuTTYgen из формата PuTTY в формат, который может использовать OpenSSH.
В версии PuTTYgen для Windows используйтеКонвертации → Экспорт ключа OpenSSHпункт меню;
в версии для Linux,
puttygen mykey.ppk -O private-openssh -o mykey
.
Только открытый ключ – для входа из WindowsкUnix
См. ответ Дэниела.
решение2
Окно Puttygen содержит текстовую область с открытым ключом в формате, ожидаемом SSH.
Скопируйте его и добавьте в файл ~/.ssh/authorized_keys
на сервере на отдельной строке. Убедитесь, что файл и каталог не доступны для чтения/записи группе и другим, т.е. запустите chmod go-rwx ~/.ssh ~/.ssh/authorized_keys
.
Затем сервер примет ваш вход, используя закрытый ключ для аутентификации.
решение3
Хорошо, я, кажется, не совсем ясно выразился, но решение найдено:
- запустить puttygen
- загрузить закрытый ключ
- Конвертация меню|Экспорт ключа OpenSSH
- Сохранить где-нибудь, открыть, скопировать содержимое в буфер обмена, вставить в Linux в файл: $HOME/.ssh/id_dsa
- (опционально) скопируйте содержимое текстовой области «Открытый ключ для вставки в файл OpenSSH authorized_keys», вставьте на Linux в файл: $HOME/.ssh/id_dsa.pub
Теперь вы можете использовать этот SSH-ключ из оболочки для входа в удаленные системы.
Примечание: чтобы без проблем использовать git из Windows Putty в оболочке Linux для подключения к git, установите следующие параметры в сеансе Putty:
(и вы должны поместить открытый ключ в ~/.ssh/authorized_keys, конечно..)