Jak mogę zmienić pole komentarza klucza RSA (SSH)?

22

Wiem, że mogę po prostu otworzyć klucz pubkey i zmienić komentarz po ==s, ale czy pole komentarza decyduje o utworzeniu również w kluczu prywatnym? Jeśli tak, to jak mogę zmienić to pole bez generowania zupełnie nowego klucza od zera?

ELLIOTTCABLE
źródło
1
Zobacz odpowiedź @ jhcaiced poniżej; to najwyraźniej nie zadziała, czego się obawiałem.
ELLIOTTCABLE
2
Zobacz także Możliwa zmiana adresu e-mail w parze kluczy? na ServerFault. Krótka odpowiedź to ssh-keygen -czmiana komentarza.
jww

Odpowiedzi:

17

Natknąłem się na to pytanie w swoich własnych poszukiwaniach dotyczących zmiany komentarza w kluczu ssh w mojej nowej instalacji ubuntu.

Następnie przeszukałem strony man ( man ssh-keygen) i odpowiedź była właśnie tam

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.

Więc dla mnie wszystko, co musiałem zrobić, to

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

Na marginesie: ssh-keygenmożna użyć do zmiany hasła używanego do ochrony pliku klucza, w tym do usunięcia hasła.

Vad
źródło
Za pomocą polecenia mogłem zmienić komentarz zarówno moich kluczy prywatnych RSA, jak i ED25519. (Powyższa strona podręcznika mówi This operation is only supported for RSA1 keys)
GMaster
3

Właśnie wykonałem mały test, modyfikując wiersz „Komentarz:” mojego prywatnego klucza RSA i wydaje się, że został naprawiony podczas tworzenia klucza.

Jest to klucz RSA generowany za pomocą Putty, a po zmodyfikowaniu komentarza w kluczu hasło nie działało, muszę cofnąć edycję do tego samego oryginalnego komentarza, aby znów działał.

jhcaiced
źródło
1
Mogę to potwierdzić. Próbowałem już tego samego i nie mogłem tego zrobić przez edycję tekstu. Ostatecznie stworzyłem nowy klucz, importując te same szczegóły klucza prywatnego, zmieniając komentarz i zapisując go ponownie, korzystając z narzędzi dołączonych do szpachli.
Vijay,
1
man ssh-keygen -c Żąda zmiany komentarza w plikach klucza prywatnego i publicznego. Ta operacja jest obsługiwana tylko dla kluczy RSA1. Program wyświetli monit o plik zawierający klucze prywatne, hasło, jeśli klucz go posiada, oraz o nowy komentarz. Próbowałem utworzyć klucz RSA z opcją -C, aby podać komentarz w czasie tworzenia. Nic nie robi. Mam wiele kluczy RSA, które chciałbym móc rozróżnić podczas uruchamiania ssh-add -l.
Michael
Jak napisał An Vad w innej odpowiedzi: możesz zmienić komentarz za pomocą ssh-keygen -c -C "my new comment" -f ~/.ssh/my_ssh_key.
mpb
3

Właśnie utworzyłem klucz RSA bez ssh-keygen -t rsa -b 4096, bez hasła, bez komentarza (tak standardowy komentarz). Przesłałem go do GitHub, a następnie zmieniłem jego komentarz. Ponowne przesyłanie nie było konieczne, klucz działał przed zmianą i po niej oraz przestał działać po usunięciu z GitHub (chociaż jeśli był buforowany i działał tylko z tego powodu, nie testowałem).

Dziennik sesji:

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 [email protected]: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.

Działa to zatem dla kluczy przechowywanych w NOWYM FORMACIE. Kroki opisane tutaj, w mojej odpowiedzi ServerFault .

Wszystkie operacje zostały wykonane na domyślnym OpenSSH ssh-keygen Xubuntu 18.04.

Klucz prywatny zmieni się w ten sposób. Nie z powodu komentarza, ale raczej ze względu na zmianę formatu . Zobacz porównanie tutaj na kluczu stworzonym tylko dla tego porównania.

porównanie klucza prywatnego - format się zmienił

Zauważ, że dla klucza pubu skutecznie go złamałem, więc Meld lepiej pokazuje, co się zmieniło: spacje zostały zmienione za pomocą podziałów linii (to łamie format).

(zepsuty) porównanie klucza publicznego, zmienił się tylko komentarz

LAFK mówi Przywróć Monikę
źródło
Mogę potwierdzić, że to polecenie działa z moim kluczem rsa2ssh-keygen -f ~/.ssh/mykey -c -C 'a new comment' -o
Felipe Alvarez
0

Jeśli chodzi o klucz generowany przez PuTTY (gdy mówi, że MAC nie powiódł się), prawdopodobnie najlepszym sposobem na zmianę komentarza jest użycie narzędzia puttygen.

kit

Maksyma
źródło