ฉันจะเปลี่ยนฟิลด์ความคิดเห็นของคีย์ RSA (SSH) ได้อย่างไร


21

ฉันรู้ว่าฉันสามารถเปิด pubkey และเปลี่ยนความคิดเห็นหลังจาก==s ได้ แต่ฟิลด์ความคิดเห็นถูกตัดสินจากการสร้างที่จัดเก็บในคีย์ส่วนตัวด้วยหรือไม่ ถ้าเป็นเช่นนั้นฉันจะเปลี่ยนฟิลด์นั้นโดยไม่สร้างคีย์ใหม่ทั้งหมดตั้งแต่ต้นได้อย่างไร


1
ดูคำตอบของ @jhcaiced ด้านล่าง; เห็นได้ชัดว่าไม่ได้ผลซึ่งเป็นสิ่งที่ฉันกลัว
ELLIOTTCABLE

2
เห็นด้วยว่าเป็นไปได้ที่จะเปลี่ยนที่อยู่อีเมลใน keypair หรือไม่ บน ServerFault คำตอบสั้น ๆ คือssh-keygen -cเปลี่ยนความคิดเห็น
jww

คำตอบ:


16

ฉันเจอคำถามนี้ในการค้นหาของฉันเองสำหรับการเปลี่ยนความคิดเห็นในคีย์ 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 ได้ด้วยคำสั่ง (manpage ด้านบนพูดว่าThis operation is only supported for RSA1 keys)
GMaster

3

ฉันเพิ่งทำการทดสอบเล็กน้อยเพื่อแก้ไขบรรทัด "ความคิดเห็น:" ของคีย์ RSA ส่วนตัวของฉันและดูเหมือนว่าจะได้รับการแก้ไขเมื่อสร้างคีย์

มันเป็นคีย์ RSA ที่สร้างขึ้นด้วย Putty และหลังจากแก้ไขความคิดเห็นในคีย์แล้วรหัสผ่าน passwd ไม่ทำงานฉันต้องย้อนกลับการแก้ไขเป็นความคิดเห็นดั้งเดิมเดิมเพื่อให้มันทำงานได้อีกครั้ง


1
ฉันยืนยันสิ่งนี้ได้ ฉันเคยลองแบบเดียวกันมาก่อนและฉันไม่สามารถทำได้ด้วยการแก้ไขข้อความ ฉันลงเอยด้วยการสร้างคีย์ใหม่โดยการนำเข้าคีย์ส่วนตัวรายละเอียดการเปลี่ยนแปลงความคิดเห็นและบันทึกอีกครั้งโดยใช้เครื่องมือที่มาพร้อมกับผงสำหรับอุดรู
วีเจย์

1
man ssh-keygen -c คำร้องขอเปลี่ยนความคิดเห็นในไฟล์ไพรเวตและพับลิกคีย์ การดำเนินการนี้รองรับสำหรับคีย์ RSA1 เท่านั้น โปรแกรมจะแสดงพร้อมท์สำหรับไฟล์ที่มีไพรเวตคีย์สำหรับวลีรหัสผ่านหากคีย์มีหนึ่งอันและสำหรับความคิดเห็นใหม่ ฉันพยายามสร้างคีย์ RSA ด้วย -C เพื่อระบุความคิดเห็น ณ เวลาที่สร้าง มันไม่ได้ทำอะไรเลย ฉันมีจำนวนมากคีย์ RSA ssh-add -lฉันต้องการที่จะสามารถแยกแยะความแตกต่างเมื่อทำงาน
Michael

ในฐานะที่เป็น Vad เขียนไว้ในคำตอบที่แตกต่างกัน: 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

การดำเนินการทั้งหมดเสร็จสิ้นใน Xubuntu 18.04 ที่เป็นค่าเริ่มต้น OpenSSH ssh-keygen

รหัสส่วนตัวจะเปลี่ยนแปลงในลักษณะนี้ ไม่ได้เกิดจากความคิดเห็นของมัน แต่เนื่องจากการเปลี่ยนแปลงในรูปแบบของมัน ดูการเปรียบเทียบที่นี่ในคีย์ที่สร้างขึ้นเพื่อการเปรียบเทียบเท่านั้น

การเปรียบเทียบคีย์ส่วนตัว - รูปแบบมีการเปลี่ยนแปลง

โปรดทราบว่าสำหรับ pub-key ฉันทำลายมันได้อย่างมีประสิทธิภาพดังนั้น Meld จึงแสดงสิ่งที่เปลี่ยนแปลงได้ดีกว่า: ช่องว่างถูกเปลี่ยนด้วยการขึ้นบรรทัดใหม่

(หัก) การเปรียบเทียบรหัสสาธารณะมีเพียงความคิดเห็นที่เปลี่ยนไป


ฉันสามารถยืนยันได้ว่าคำสั่งนี้ใช้ได้กับคีย์ rsa2 ของฉันssh-keygen -f ~/.ssh/mykey -c -C 'a new comment' -o
Felipe Alvarez

0

หากเป็นเรื่องเกี่ยวกับกุญแจที่สร้างขึ้นโดย PuTTY (เมื่อมีการระบุว่า MAC ล้มเหลว) อาจเป็นวิธีที่ดีที่สุดในการเปลี่ยนความคิดเห็นคือใช้เครื่องมือ puttygen

ผงสำหรับอุดรู

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.