Как я могу изменить поле комментария ключа RSA (SSH)?


20

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


1
Смотрите ответ @ jhcaiced ниже; это, очевидно, не сработает, чего я и боялся.
ELLIOTTCABLE

2
Также см. Возможно изменить адрес электронной почты в паре ключей? на ServerFault. Краткий ответ - это ssh-keygen -cизменение комментария.
1818

Ответы:


15

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

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

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


Я смог изменить комментарий моих закрытых ключей RSA и ED25519 с помощью команды. (На странице выше написано This operation is only supported for RSA1 keys)
GMaster

3

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

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


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

1
man ssh-keygen -c Запрашивает изменение комментария в файлах закрытых и открытых ключей. Эта операция поддерживается только для ключей RSA1. Программа запросит файл, содержащий закрытые ключи, парольную фразу, если ключ есть, и новый комментарий. Я попытался создать ключ RSA с -C, чтобы указать комментарий во время создания. Это ничего не делает. У меня есть много ключей RSA, которые я бы хотел различать при запуске ssh-add -l.
Майкл

Как писал Вад в другом ответе: вы можете изменить комментарий с помощью ssh-keygen -c -C "my new comment" -f ~/.ssh/my_ssh_key.
mpb

3

Я только что создал ключ 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 лучше показывает, что изменилось: пробелы были изменены с переносами строк (это нарушает формат).

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


Я могу подтвердить, что эта команда работает с моим ключом rsa2ssh-keygen -f ~/.ssh/mykey -c -C 'a new comment' -o
Фелипе Альварес

0

Если речь идет о ключе, сгенерированном PuTTY (когда он говорит, что MAC не работает), то, вероятно, лучший способ изменить комментарий - это использовать инструмент puttygen.

шпатлевка

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.