Как конвертировать пары ключей SSH, созданные с помощью PuttyGen (Windows), в пары ключей, используемые ssh-agent и KeyChain(Linux)


Я создал пары ключей с помощью PuttyGen и в Pageant, Так что я должен ввести свой пароль только один раз, когда моя система загружается.

как я могу достичь этого в Linux? Я слышал о keychain но я слышал, что он использует другой формат пары ключей - я не хочу менять свои ключи Windows, и было бы неплохо, если бы я мог легко подключиться таким же образом как в Windows, так и в Linux.

8 403

8 ответов:

puttygen поддерживает экспорт вашего закрытого ключа в формат, совместимый с OpenSSH. Затем вы можете использовать инструменты OpenSSH для воссоздания открытого ключа.

  1. Открыть Генератор Puttygen
  2. Нажмите Кнопку Загрузить
  3. загрузите свой закрытый ключ
  4. на Conversions->Export OpenSSH и экспортировать закрытый ключ
  5. скопировать закрытый ключ ~/.ssh/id_dsa (или id_rsa).
  6. создайте версию открытого ключа RFC 4716 с помощью ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. преобразование версии открытого ключа RFC 4716 в формат OpenSSH:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    

посмотреть этой и этой для получения дополнительной информации.

Если у вас есть только открытый ключ от пользователя в формате PuTTY-style, вы можете конвертировать его в стандартный формат openssh следующим образом:

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

ссылки

текст статьи

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

наиболее распространенный способ сделать ключ на Windows, с помощью шпатлевки/Puttygen. Puttygen предоставляет аккуратную утилиту для преобразования закрытого ключа linux в Формат шпаклевки. Однако то, что не рассматривается, заключается в том, что при сохранении открытый ключ с помощью puttygen он не будет работать на сервере linux. Окна помещает некоторые данные в разные области и добавляет разрывы строк.

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

однако, сисадмины, вы неизменно получаете шаткий ключевой файл, который бросает нет сообщения об ошибке в журнале проверки подлинности, за исключением того, что ключ не найден, попытка пароль; даже если все остальные ключи работают нормально, и вы отправили этот ключ обратно пользователю 15 раз.

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

должен преобразовать существующий открытый ключ puttygen в формат OpenSSH.

новые версии генератор puttygen (мой 0.64) могут показать открытый ключ OpenSSH, который будет вставлен в систему linux в , как показано на следующем рисунке:

enter image description here

в качестве альтернативы, если вы хотите, чтобы захватить частные и открытые ключи от замазки формируемого файла ключей вы можете использовать puttygen на *Nix-системах. Для большинства систем на основе apt puttygen является частью putty-tools пакета.

вывод закрытого ключа из формируемого шпатлевкой ключевого файла:

$ puttygen keyfile.pem -O private-openssh -o avdev.pvk

для открытого ключа:

$ puttygen keyfile.pem -L

sudo apt-get install putty

это автоматически установит инструмент puttygen.

Теперь, чтобы преобразовать файл PPK, который будет использоваться с командой SSH, выполните следующее в терминале

puttygen mykey.ppk -O private-openssh -o my-openssh-key

затем вы можете подключиться через SSH с:

ssh -v user@example.com -i my-openssh-key

http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603

недавно у меня была эта проблема, когда я переходил от Putty для Linux к Remmina для Linux. Поэтому у меня есть много файлов PPK для Putty в моем .putty каталог, как я использую его в течение 8 лет. Для этого я использовал простой for команда для оболочки bash, чтобы сделать все файлы:

cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;

очень быстро и по существу, получил работу для всех файлов, которые были у putty. Если он находит ключ паролем и задать пароль для этого ключа, а затем продолжить.

вероятно, проще создать свои ключи под linux и использовать PuTTYgen для преобразования ключей в формат PuTTY.

PuTTY Faq: A. 2. 2

Я думаю, что TCSgrad пытался спросить (несколько лет назад), как заставить Linux вести себя так, как его машина Windows. То есть, есть агент (pageant), который содержит расшифрованную копию закрытого ключа, так что парольная фраза должна быть введена только один раз. Затем ssh-клиент putty может войти в систему на машинах, где его открытый ключ указан как "авторизованный" без запроса пароля.

аналогом для этого является то, что Linux, действуя как ssh-клиент, есть агент удерживая расшифрованный закрытый ключ, чтобы, когда TCSgrad набирает "ssh host", команда ssh получит его закрытый ключ и пойдет без запроса пароля. хозяин, конечно, должен держать открытый ключ в ~/.ssh / authorized_keys.

аналог Linux для этого сценария выполняется с помощью ssh-agent (аналог pageant) и ssh-add (аналог добавления закрытого ключа к pageant).

метод, который работал для меня было использование: $ ssh-agent $SHELL эта оболочка это был волшебный трюк, который мне нужен, чтобы заставить агента бежать и продолжать бежать. Я нашел это где-то в сети, и это закончилось несколькими часами избиения моей головы о стену.

теперь у нас есть аналог запущенного pageant, агент без загруженных ключей.

ввод $ ssh-добавить сам по себе добавит (по умолчанию) закрытые ключи, перечисленные в файлах идентификации по умолчанию в ~/.тсс.

веб-статья с гораздо более подробной информацией можно найти здесь