10

Я знаю, что могу просто открыть pubkey и изменить комментарий после == s, но определяется ли поле комментария при создании и в закрытом ключе? Если так, как я могу изменить это поле, не создавая совершенно новый ключ с нуля?

3 ответа3

3

Я столкнулся с этим вопросом в своем собственном поиске для изменения комментария в ключе ssh в моей новой установке Ubuntu.

Затем я выполнил поиск по страницам man (man ssh-key-gen), и ответ был тут же:

ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]

-c      Requests changing the comment in the private and public key files.
        This operation is only supported for RSA1 keys and keys stored in the
        newer OpenSSH format.  The program will prompt for the file containing 
        the private keys, for the passphrase if the key has one, and for the
        new comment.

Так что для меня все, что мне нужно было сделать, это

ssh-keygen -c -C "my new comment" -f ~/.ssh/my_ssh_key

Примечание: ssh-keygen может использоваться для изменения пароля, используемого для защиты файла ключа, включая удаление пароля.

3

Я только что провел небольшой тест, модифицирующий строку «Комментарий:» моего личного ключа RSA, и, похоже, он был исправлен при создании ключа.

Это ключ RSA, сгенерированный с помощью Putty, и после изменения комментария в ключе passwd не работает, я должен отменить редактирование того же самого исходного комментария, чтобы он снова работал.

1

Я только что создал ключ RSA с помощью ssh-keygen -t rsa -b 4096 , без прохода, без комментариев (поэтому стандартный комментарий). Я загрузил его на GitHub, а затем изменил его комментарий. Повторная загрузка не требовалась, ключ работал до и после изменения и перестал работать после удаления из GitHub (хотя, если он был кеширован и работал только из-за этого, я не проверял).

Журнал сеанса:

lafk-T470% ssh-keygen -c -f ~/.ssh/id_rsa -C "a new comment"           
Comments are only supported for keys stored in the new format (-o).
lafk-T470% ssh-keygen -c -f ~/.ssh/id_rsa -C "a new comment" -o
Key now has no comment
The comment in your key file has been changed.
lafk-T470% vim ~/.ssh/id_rsa.pub                                       
lafk-T470% tail -1 ~/.ssh/id_rsa.pub                      
ssh-rsa  AAAAB3NzaC1yc2EAAAADAQABAAACAQCocnoRyM7Oy5XA0dLIaiHHQiPnimJvXifliTZI7OX5lqkACsZmUL/D7kUV2uPDyyPZ6lm0UGUHXhOw2QjStQ6ubPRFOKWQyNDkemaQAJtHPYTkT4pGHbsddyko3SRG0Vp4A9CSLRLJXVGuGn1UpfjB/AD0aUcLWVJdgWDuovR09t1YsHbakDpDh4a/2JS52Cvg6x9kEGakZK7ffUQZ64yZvqisEH//e7SbYtpHIp4ZdBMSIIsFIBWvqMXZowahvSMbV7MeLFuwt90dMOFiGJIe0n8oPt/ilQ0FTRcEP7UODyLKbESHkZqoGAHKeQ4ZMCCv7T00KtB98HvWylqvzHg2rIpLMHkVcRGjwlaZUlZB5Zxk6dAJ5HHg1irF+05UeIbQ9YQF/0x63KWQvreEcmLrkbnZ++XeF2ipE7M7CfkYhpJ9XbKZBG4pOQIqLio2rBV9c3+y+sPq4BABXdJKAnIX+h3kFrvOVA7Gy9/YxgQfCJ0ZSmaAV08uqMm91GYGRU9lt2Uf/ALqhW0rH93UWUj232w35rY8GtXucWAjtw3zi6QtZsIAStRzT3Br+Qrqv4MrKvEk+4rzswytaYjCGLrsMDYL7hI/YEJh9vv/v3wGvJGAqLDk1FeBL8tdwEMr1eM9JKl5gVkmBa4MdJkNMe4rHwUIidrW8LW2EEBY3DmDTQ== a new comment
lafk-T470% git clone git@github.com:GH_User/a-repository.git
Cloning into 'a-repository'...
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.

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

Все операции выполнялись на стандартном OpenSSH ssh-keygen в Xubuntu 18.04.

Закрытый ключ будет меняться таким образом. Не из-за комментариев, а из-за изменений в формате. Смотрите сравнение здесь для ключа, созданного только для этого сравнения.

Сравнение закрытого ключа - формат изменился

Заметьте, что для pub-ключа я фактически сломал его, поэтому Meld лучше показывает, что изменилось: пробелы были изменены с переносами строк (это нарушает формат).

(сломан) сравнение открытого ключа, только комментарий изменился

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .