เป็นไปได้ที่จะเปลี่ยนที่อยู่อีเมลใน keypair?


133

ฉันได้สร้างคีย์แพร์ RSA ที่ฉันใช้กับ SSH และมันมีที่อยู่อีเมลของฉันด้วย (ในตอนท้ายของคีย์สาธารณะ)

ตอนนี้ฉันเปลี่ยนที่อยู่อีเมลของฉันแล้ว

เป็นไปได้หรือไม่ที่จะเปลี่ยนที่อยู่อีเมลในรหัสหรือเป็นส่วนหนึ่งของรหัสและฉันจะต้องสร้างใหม่

คำตอบ:


170

ฉันได้สร้างคีย์แพร์ RSA ที่ฉันใช้กับ SSH และมันมีที่อยู่อีเมลของฉันด้วย (ในตอนท้ายของคีย์สาธารณะ)

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

ssh-rsa AAAAB3N....NMqKM= this_is_a_comment

เมื่อฉันสร้างกุญแจด้วย ssh-keygen ฉันมักจะใช้คำสั่งเช่นนี้เพื่อตั้งค่าความคิดเห็นที่แตกต่างกัน ฉันไม่คิดว่าชื่อผู้ใช้ @ host มีประโยชน์มาก คุณสามารถใส่ความคิดเห็นใดก็ได้ที่คุณชอบซึ่งจะเป็นประโยชน์กับคุณและผู้ดูแลระบบคนอื่น ๆ เพื่อช่วยระบุว่าใครเป็นกุญแจสำคัญ

ssh-keygen ... -C YYYYMMDD_surname_givenname

5
มีความสุขมากที่ฉันไม่ต้องเปลี่ยนกุญแจ ...
รามราชกุมภา

ฉันดีใจที่รู้ว่าฉันไม่จำเป็นต้องใช้ที่อยู่อีเมลของฉัน แนวคิดใดที่คุณต้องการเพิ่มความคิดเห็นในคีย์ บางทีฉันอาจจะหนีไปกับเว็บไซต์ที่ใช้แทนอีเมลของฉัน
leetNightshade

ฉันต้องการความคิดเห็น (ต้องการ) ในระบบของฉันเพราะมี 8 เทคโนโลยีเครือข่ายและระบบจำนวนมากที่ใช้คีย์สำหรับงานอัตโนมัติ ไฟล์ authorized_keys ทั่วไปของฉันมีประมาณ 10-15 คีย์ในนั้น ความคิดเห็นที่นั่นทำให้ผู้คนตระหนักถึงความสำคัญของแต่ละคีย์ อย่างไรก็ตามมีความคิดเห็นที่จะทำให้ง่ายต่อการจัดการคีย์ คุณสามารถใช้มันได้ตามที่คุณต้องการ
Zoredache

2
เนื่องจากความคิดเห็นเป็นรายการสุดท้ายในauthorized_keysไฟล์จึงอนุญาตให้มีช่องว่างได้ดังนั้นคุณไม่จำเป็นต้องใช้เครื่องหมายขีดล่าง
IQAndreas

@IQAndre คุณพูดถูก แต่ฉันก็ใช้ความเห็นนั้นในที่อื่น ๆ ที่มันสำคัญ ตัวอย่างเช่นฉันมีชื่อความคิดเห็นของฉันเหมือนกับชื่อไฟล์ของคีย์ของฉันเนื่องจากมันถูกเก็บไว้ใน /.ssh dir ของฉัน ฉันรู้ว่าอนุญาตให้ใช้ช่องว่างในไฟล์ได้เช่นกัน แต่ถ้าไม่ใช้ก็ทำให้การอ้างอิงไฟล์ของฉันง่ายขึ้นจาก cli
Zoredache

17

คุณสามารถเปลี่ยนการแสดงความคิดเห็นสำหรับคีย์ RSA1 ssh-keygen -cใช้

จาก mansh ssh-keygen:

 -c      Requests changing the comment in the private and public

ไฟล์สำคัญ การดำเนินการนี้รองรับสำหรับคีย์ RSA1 เท่านั้น โปรแกรมจะแสดงพร้อมท์สำหรับไฟล์ที่มีไพรเวตคีย์สำหรับวลีรหัสผ่านหากคีย์มีหนึ่งอันและสำหรับความคิดเห็นใหม่

ดังนั้นหากต้องการเปลี่ยนความคิดเห็นของคีย์ที่อยู่ที่~/.ssh/some_keyใช้คำสั่งต่อไปนี้:

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

ในกรณีที่-fตัวเลือกที่จะตามด้วยคีย์ที่คุณต้องการที่จะเปลี่ยนแปลงและ-Cตามด้วยความเห็นใหม่


7
ssh-keygen -c -f id_fooผลตอบแทนComments are only supported for RSA1 keys.
Edward Falk

+1ใช้ได้กับปุ่ม OpenSSH ed25519 คีย์ ed25519 ได้รับการเข้ารหัส Base64 อย่างสมบูรณ์ ความคิดเห็นไม่สามารถถูกทับด้วยโปรแกรมแก้ไขข้อความ

11

จากOpenSSH 6.5เป็นต้นไปทำงานได้กับคีย์ทุกประเภทไม่ใช่แค่ RSA1:

ssh-keygen -f ~/.ssh/keyfilename -o -c -C "here goes your comment"

ตัวเลือกคำสั่งอธิบาย:

  • -f: ไฟล์กุญแจส่วนตัว
  • -o: แปลงคีย์ส่วนตัวจาก PEM เป็นรูปแบบ OpenSSH ใหม่
  • -c: เปลี่ยนความคิดเห็นในไฟล์กุญแจส่วนตัวและกุญแจสาธารณะ
  • -C: ข้อความแสดงความคิดเห็น

ดูเพิ่มเติมที่: ssh-keygen(1)man page (current)


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