Я использовал ssh-keygen -t rsa
для генерации пары ключей. Открытый ключ хранится в файле "id_rsa.pub", который содержит "ssh-rsa AAA...idJ[email protected]".
Затем я использовал ssh-keygen -y
(упомянутый вкак я могу проверить свою парольную фразу RSA?) для получения открытого ключа SSH. Однако открытый ключ, полученный с помощью этого метода, содержит только "ssh-rsa AAA...idJ". (т.е. в нем нет последней части "[email protected]")
Я хотел бы спросить, почему существует разница в открытом ключе, сгенерированном этими двумя методами.
решение1
В самом ключе разницы нет.Последняя часть — поле «комментарий».
Если вы используете id_rsa
файл ключа в традиционном формате (тот, который начинается с «RSA PRIVATE KEY»), у него просто нет стандартного места длямагазинкомментарий, поэтому ssh-keygen неоткуда его взять. (Это общий формат ключа, принятый OpenSSH, поскольку его криптографическая библиотека уже имела его.)
«Новый» формат закрытого ключа OpenSSH (тот, который называется «OPENSSH PRIVATE KEY»)делаетесть поле комментария, и ssh-keygen может извлечь его просто отлично. Если вы хотите преобразовать свой закрытый ключ, вы можете использовать ssh-keygen -p
в новых версиях OpenSSH; ssh-keygen -o -p
в немного более старых, после чего фактически установить новый комментарий с помощью ssh-keygen -c
.