Как преобразовать пары ключей SSH, сгенерированные с помощью PuTTYgen (Windows), в пары ключей, используемые ssh-агентом и связкой ключей (Linux)

StackOverflow https://stackoverflow.com/questions/2224066

Вопрос

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

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

Это было полезно?

Решение

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, вы можете преобразовать его в стандартный формат openssh следующим образом:

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

Ссылки

Копия статьи

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

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

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

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

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

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

Новые версии PuTTYgen (у меня 0,64) могут показать открытый ключ OpenSSH, который нужно вставить в систему Linux в .ssh/authorized_keys файл, как показано на следующем изображении:

enter image description here

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

Вывод закрытого ключа из ключевого файла в формате PuTTY:

$ 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:А.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-агентская $ ОБОЛОЧКА Эта $ ОБОЛОЧКА была волшебным трюком, который мне был нужен, чтобы заставить агент работать и оставаться запущенным.Я нашел это где-то в сети, и это закончилось несколькими часами биения головой о стену.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top