Должен ли я удалить или прокомментировать первую и последнюю строку открытого ключа PuTTYgen?

752
CPHPython

puttygen.exeимеет приятный простой интерфейс для генерации пар открытого и закрытого ключей. Вот пример сгенерированного открытого ключа SSH-2 RSA, где я заполнил поле комментария при сохранении:

---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20171211" AAAAB3NzaC1yc2EAAAABJQAAAQEAijhKs074/PGGNhGbrgBTF6E/OrAd/pQSP68m +fVbiho8AAl2z88F7x5VM0AOg7m5ZHVBc5PAjArXcZPVy2bh5xk488zGcnavvy1y sFqiXGWb99Mp4xPRZ1E/qQD7gQjeRLCKUjQFAoH+jEuBpOWTrlmakeiVA8v9EmdX 6Kgi2SIA1nKAuZ+mBldPMAAisqFzUA2A2208LLc+U+FHRcnrTyNedDRLZOyfXaEt 1QeXoMA0wa3/UeLv5lTvWHVrQJtGOlwQdOrhfyrARIPY3IozcQ== ---- END SSH2 PUBLIC KEY ---- 

Однако, прочитав OpenBSD, я заметил, что хотя поле комментария (вторая строка) разрешено, комментарии должны быть сделаны #в начале строки. Поэтому у меня есть пара вопросов:

  • Я планирую добавить аналогичный ключ через интерфейс bitbucket (шаг 2), поэтому мне нужно удалить первую и последнюю строку или, по крайней мере, добавить #комментарий для их комментирования?

  • Ключевой пример OpenBSD имеет ssh-rsaв начале линии ключа, мне нужно, чтобы добавить эти слова, а?

1

2 ответа на вопрос

1
Martin Prikryl

PuTTYgen представляет сгенерированный открытый ключ в двух форматах.

  1. Формат файла ключа RFC 4716 :

    ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20171211" AAAAB3NzaC1yc2EAAAABJQAAAQEAijhKs074/PGGNhGbrgBTF6E/OrAd/pQSP68m +fVbiho8AAl2z88F7x5VM0AOg7m5ZHVBc5PAjArXcZPVy2bh5xk488zGcnavvy1y sFqiXGWb99Mp4xPRZ1E/qQD7gQjeRLCKUjQFAoH+jEuBpOWTrlmakeiVA8v9EmdX 6Kgi2SIA1nKAuZ+mBldPMAAisqFzUA2A2208LLc+U+FHRcnrTyNedDRLZOyfXaEt 1QeXoMA0wa3/UeLv5lTvWHVrQJtGOlwQdOrhfyrARIPY3IozcQ== ---- END SSH2 PUBLIC KEY ---- 

    Вы получаете этот формат с помощью кнопки / команды Сохранить открытый ключ .

  2. authorized_keysФормат файла OpenSSH :

    ssha-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAijhKs074/PGGNhGbrgBTF6E/OrAd/pQSP68m+fVbiho8AAl2z88F7x5VM0AOg7m5ZHVBc5PAjArXcZPVy2bh5xk488zGcnavvy1ysFqiXGWb99Mp4xPRZ1E/qQD7gQjeRLCKUjQFAoH+jEuBpOWTrlmakeiVA8v9EmdX6Kgi2SIA1nKAuZ+mBldPMAAisqFzUA2A2208LLc+U+FHRcnrTyNedDRLZOyfXaEt1QeXoMA0wa3/UeLv5lTvWHVrQJtGOlwQdOrhfyrARIPY3IozcQ== rsa-key-20171211 

    Вы получаете этот формат непосредственно в главном окне PuTTYgen в верхнем поле под названием Открытый ключ для вставки в файл авторизованного ключа OpenSSH .

    enter image description here


Какой формат вам нужно использовать, зависит от приложения, с которым вы хотите использовать открытый ключ. Там нет общего ответа на это. Веб-интерфейс Bitbucket.org использует второй формат.

Но в любом случае нет необходимости в какой-либо ручной модификации ключа. У вас есть оба формата, легко доступные в PuTTYgen. На самом деле второй формат даже более доступен, чем тот, который у вас есть в вашем вопросе.

Спасибо за устранение различий в форматах Мартина и за ссылку на формат _RFC 4716_. Однако в моей версии PUTTYgen (из `TortoiseGit / bin`) опция сохранения через формат OpenSSH в меню _Conversions_ (только) по-прежнему добавляет эти строки вверху и внизу файла и без` ssh-rsa ` ... CPHPython 6 лет назад 0
* «Экспортировать ключ OpenSSH» * экспортирует ** закрытый ключ ** не открытый ключ. Я имею в виду * «Публичный ключ для вставки в файл авторизованного ключа OpenSSH» * в главном окне. - Смотрите мой отредактированный ответ. Martin Prikryl 6 лет назад 0
Хаха, прямо перед моими глазами :) Еще раз спасибо! Я также заметил, что поле комментария ключа добавляется в конец ключа OpenSSH, который [djsmiley2k в другом комментарии здесь] (https://superuser.com/questions/1281795/should-i-remove-or-comment-the -first-and-last-line-of-a-puttygen-public-key # comment1893841_1281798) объяснил, что это может быть адрес электронной почты. CPHPython 6 лет назад 0
Вы объяснили, как получить формат открытого ключа OpenSSH, можете ли вы также рассказать, как получить формат закрытого ключа OpenSSH? temirbek 5 лет назад 0
@temirbek См. https://askubuntu.com/q/15378/280048#584631 Martin Prikryl 5 лет назад 0
0
CPHPython

Просто проверил это несколько раз и сообщение:

Неверный ключ SSH.

Продолжал появляться, если какой-либо комментарий был добавлен (строки с #в начале не работали также). Поэтому мне нужно было сложить ssh-rsaчасть в первой строке, и он принял ключ только в этой форме:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAijhKs074/PGGNhGbrgBTF6E/OrAd/pQSP68m +fVbiho8AAl2z88F7x5VM0AOg7m5ZHVBc5PAjArXcZPVy2bh5xk488zGcnavvy1y sFqiXGWb99Mp4xPRZ1E/qQD7gQjeRLCKUjQFAoH+jEuBpOWTrlmakeiVA8v9EmdX ErVV28dUcQLhTmnsPxRp6dWDCwlmQGYCucstQDtlt7A4Dke7fFa74Wb8b0zOXcQ2 6Kgi2SIA1nKAuZ+mBldPMAAisqFzUA2A2208LLc+U+FHRcnrTyNedDRLZOyfXaEt 1QeXoMA0wa3/UeLv5lTvWHVrQJtGOlwQdOrhfyrARIPY3IozcQ== 
Для linux / bsd - комментарии добавляются после ключа, обычно это адрес электронной почты, связанный с ключом, поэтому `ssh-rsa AAAA ....... djsmiley2k @ stackexchange` будет действительным. djsmiley2k 6 лет назад 1
@ djsmiley2k приятно это знать, спасибо! Но использует ли bitbucket эту строку электронной почты, чтобы знать, что я - тот, кто делает коммиты / толчки? CPHPython 6 лет назад 0
Нет, это только для локальной информации (я управляю серверами с сотнями ключей, хорошо знать, для кого они предназначены;)) djsmiley2k 6 лет назад 1