Я сгенерировал пары ключей, используя PuTTYgen, и вошел в систему с использованием Pageant, так что мне нужно вводить мою парольную фразу только один раз, когда моя система загружается.
Как достичь этого в Linux? Я слышал о keychain
но я слышал, что он использует другой формат пары ключей - я не хочу менять свои ключи Windows, и было бы неплохо, если бы я мог легко подключаться одинаково как в Windows, так и в Linux.
Ответ 1
puttygen
поддерживает экспорт вашего закрытого ключа в формат, совместимый с OpenSSH. Затем вы можете использовать инструменты OpenSSH для воссоздания открытого ключа.
- Open PuttyGen
- Нажмите "Загрузить"
- Загрузите свой закрытый ключ
- Перейдите в
Conversions->Export OpenSSH
и экспортируйте свой закрытый ключ
- Скопируйте закрытый ключ в
~/.ssh/id_dsa
(или id_rsa
).
-
Создайте версию открытого ключа RFC 4716 с помощью ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
-
Преобразование версии открытого ключа RFC 4716 в формат OpenSSH:
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
Для получения дополнительной информации см. this и this.
Ответ 2
Если у вас есть открытый ключ от пользователя в стиле PuTTY, вы можете преобразовать его в стандартный формат openssh, например:
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
Рекомендации
Копия статьи
Я все время забываю об этом, поэтому я напишу его здесь. Негритянки, просто продолжайте идти.
Самый распространенный способ сделать ключ в Windows - использовать Putty/Puttygen. Puttygen предоставляет чистую утилиту для преобразования личного ключа linux в формат Putty. Однако то, что не рассматривается, заключается в том, что при сохранении открытого ключа с использованием puttygen он не будет работать на сервере linux. Windows помещает некоторые данные в разные области и добавляет разрывы строк.
Решение. Когда вы переходите на экран открытого ключа при создании вашей пары ключей в puttygen, скопируйте открытый ключ и вставьте его в текстовый файл с расширением.pub. Вы сэкономите время ожидания системных часов расстройств чтения, как это.
ОДНАКО, системные администраторы, вы всегда получаете файл ключа, который не содержит сообщений об ошибках в журнале auth, кроме случаев, когда ключ не найден, попытка пароля; даже если все остальные ключи работают нормально, и вы отправили этот ключ пользователю 15 раз.
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
Необходимо преобразовать существующий открытый ключ puttygen в формат OpenSSH.
Ответ 3
Более новые версии PuTTYgen (мой 0,64) могут показывать открытый ключ OpenSSH для вставки в систему linux в .ssh/authorized_keys
, как показано на следующем изображении:
![enter image description here]()
Ответ 4
В качестве альтернативы, если вы хотите захватить частные и открытые ключи из файла с ключом PuTTY, вы можете использовать системы puttygen
on * nix. Для большинства apt-based систем puttygen
является частью пакета putty-tools
.
Вывод частного ключа из файлового файла PuTTY:
$ puttygen keyfile.pem -O private-openssh -o avdev.pvk
Для открытого ключа:
$ puttygen keyfile.pem -L
Ответ 5
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
Ответ 6
Недавно я столкнулся с этой проблемой, поскольку я перешел из 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;
Очень быстро и точно, выполнил работу для всех файлов, которые были замазаны. Если он найдет ключ с паролем, он остановится и сначала попросит пароль для этого ключа, а затем продолжит.
Ответ 7
Возможно, вам проще создать свои ключи под linux и использовать PuTTYgen для преобразования ключей в формат PuTTY.
PuTTY Faq: A.2.2
Ответ 8
Я думаю, что TCSgrad пытался спросить (несколько лет назад) о том, как заставить Linux вести себя так же, как и его компьютер под Windows. То есть, существует агент (pageant), который содержит расшифрованную копию закрытого ключа, так что кодовая фраза должна быть вставлена только один раз. Затем клиент ssh, putty, может войти в систему, где его открытый ключ указан как "авторизованный" без подсказки пароля.
Аналогом для этого является то, что Linux, , действующий как клиент ssh, имеет агент, имеющий расшифрованный закрытый ключ, так что, когда TCSgrad набирает "ssh host", команда ssh получит свой закрытый ключ и не запрашивать пароль. хост, конечно, должен был бы держать открытый ключ в ~/.ssh/authorized_keys.
Аналог Linux для этого сценария выполняется с помощью ssh-agent (аналог pageant) и ssh-add (аналоговый для добавления закрытого ключа к показу).
Метод, который работал у меня, заключался в использовании:
$ ssh-agent $SHELL
Этот $SHELL был волшебным трюком, который мне нужен, чтобы заставить агента бежать и продолжать работать. Я обнаружил, что где-то в сети, и это закончилось несколько часов, когда я ударил головой о стену.
Теперь у нас есть аналог запуска страницы, агент без загрузки ключей.
Typing
$ ssh-add
сам по себе добавит (по умолчанию) закрытые ключи, перечисленные в файлах по умолчанию по умолчанию в ~/.ssh.
Здесь можно найти веб-статью с гораздо более подробной информацией здесь