ฉันจะสำรองคีย์ ssh ได้อย่างไร


34

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


1
คุณกำลังพูดถึงเซิร์ฟเวอร์หรือเครื่องไคลเอนต์?
enzotib

ฉันกำลังพูดเกี่ยวกับเครื่องเซิร์ฟเวอร์
karthick87

คำตอบ:


39

ตอบสนองต่อ SSH เท่านั้น ... ใช่คุณสามารถเก็บกุญแจได้

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

/home/karthick/.ssh

หรือ

~/.ssh

id_rsa.pubไฟล์มีกุญแจสาธารณะที่ใช้ในการตรวจสอบสิทธิ์ แต่มีไฟล์อื่น ๆ เพื่อให้ - ทั้งหมดของพวกเขาจริงๆเช่นตัวอย่างเช่นknown_hosts สำคัญที่สุดคือid_rsa(หมายเหตุขาด.pub) เช่นนี้เป็นกุญแจสำคัญส่วนตัวของคุณ สำรองข้อมูลผู้ใช้แต่ละคน ตัวอย่างเช่นหากคุณตั้งค่า SSH สำหรับrootรับ/root/.sshเช่นกัน และสำหรับบัญชีมากเท่าที่คุณมีด้วยเหตุผลนี้


1
นั่นเป็นเหตุผลที่เป็นวิธีปฏิบัติที่ดีเสมอในพาร์ทิชัน / home directory ที่ต่างกัน ในกรณีที่คุณต้องการติดตั้งใหม่ไม่ต้องการที่จะสูญเสียการตั้งค่าของคุณเอง
maniat1k

5
คำตอบนี้ทำให้เข้าใจผิด SSH ใช้คู่ของคีย์ส่วนตัว / สาธารณะ id_rsaคีย์ส่วนตัวอยู่ใน นี่คือคีย์การนำเข้าที่สำคัญที่สุดในการสำรองข้อมูล
Jan

1
คุณสามารถกู้คืนกุญแจสาธารณะ (id_rsa.pub) จากไพรเวตคีย์ (id_rsa) แต่ไม่สามารถกลับกันได้ .pubไฟล์มีเส้นหนึ่งซึ่งสามารถใส่ในเซิร์ฟเวอร์~/.ssh/authorized_keysและไม่ได้นำมาใช้ในทุกเมื่อเชื่อมต่อกับเซิร์ฟเวอร์
Lekensteyn

1
@ maniat1k โดยทั่วไปฉันไม่เห็นด้วยว่าคุณควรมี/homeพาร์ติชันแยกต่างหากสำหรับระบบปฏิบัติการเพราะหนึ่งในความแตกต่างระหว่างดิสทริบิวชันหรือเวอร์ชัน dist คือรูปแบบไฟล์กำหนดค่าที่สามารถเปลี่ยนแปลงได้ดังนั้นสิ่งต่างๆ หากคุณต้องการเก็บการกำหนดค่าข้าม OS ฉันคิดว่าคุณควรทำอย่างชัดเจนสำหรับโปรแกรมเฉพาะ
quodlibetor

1
@Lekensteyn จริงๆแล้ว.pubไฟล์บางครั้งใช้เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ หากรหัสลับถูกเข้ารหัส.pubไฟล์จะถูกใช้เพื่อส่งกุญแจสาธารณะไปยังเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ปฏิเสธรหัสสาธารณะไม่จำเป็นต้องให้ผู้ใช้ใส่รหัสผ่าน เฉพาะในกรณีที่เซิร์ฟเวอร์ยอมรับรหัสสาธารณะรหัสลับจะถูกถอดรหัส และหากคุณมีคีย์จำนวนมากในssh-agentและต้องการแนะนำให้ไคลเอ็นต์ ssh ใช้คีย์เหล่านั้นคุณสามารถทำได้โดยขอให้ใช้.pubไฟล์เฉพาะสำหรับการตรวจสอบสิทธิ์
kasperd

33

คีย์เข้ารหัสซึ่งคุณอาจต้องการสำรองข้อมูล

  • ~/.gnupg/*
  • ~/.pki/nssdb/*
  • ~/.gnome2/keyrings/*
  • ~/.ssh/*
  • /usr/local/apache2/conf/ssl.crt/server.crt
  • /usr/local/apache2/conf/ssl.key/server.key
  • /etc/ssh/*
  • /etc/ssl/private/*
  • /etc/cups/ssl/*

3
คุณคิดถึงมากหนึ่งเขาถามเกี่ยวกับ ( ~/.ssh) แต่รายการที่ดีกระนั้น :)
ซีเซียม

นอกจากนี้คุณยังพลาด/etc/ssh
ม.ค.

รายการที่ยอดเยี่ยม! เป็นเรื่องยากสำหรับ google สำหรับรายการดังกล่าวเกินควร ขอบคุณที่ให้บริการ
คริสเตียน

8

ผู้ใช้แต่ละคนมี directoy ~ / .ssh ซึ่งโดยทั่วไปจะมีไฟล์ดังต่อไปนี้:

1) id_dsa             private key of this user (different filename for rsa keys)
1) id_dsa.pub         public key of this user
2) authorized_keys    public key of other users (or same user on other machines)
   config             personal configuration
   known_hosts        host keys of other machines

นอกจากนี้ใน / etc / ssh / คุณจะพบกับ:

3) ssh_host_dsa_key
3) ssh_host_dsa_key.pub
3) ssh_host_rsa_key
3) ssh_host_rsa_key.pub

นี่คือกุญแจโฮสต์, คีย์ที่ระบุคอมพิวเตอร์นี้

คุณต้องการสำรองคีย์ส่วนตัวและสาธารณะทั้งหมดอย่างแน่นอน เราเรียกเครื่องที่สงสัยว่าเป็นบ้านและ user user @ home บุคคลเดียวกันมีบัญชีผู้ใช้ @ ระยะไกลและใช้การเข้าสู่ระบบโดยใช้คีย์ทั้งสองทิศทาง จะเกิดอะไรขึ้นถ้าคุณทำคีย์ไฟล์ใด ๆ หลวม:

  1. คุณสูญเสียข้อมูลประจำตัวของ user @ home ssh user@remoteจากที่บ้านจะไม่ทำงานกับการรับรองความถูกต้องของคีย์อีกต่อไป
  2. user @ remote ปล่อยสิทธิ์ในการเข้าสู่ระบบด้วยกุญแจบ้านของเขา ssh user@homeจะไม่ทำงานจากระยะไกลอีกต่อไปด้วยการรับรองความถูกต้องของคีย์
  3. คุณสูญเสียข้อมูลประจำตัวของโฮสต์ ผู้ใช้ @ ssh user@homeระยะไกลจะเห็นคำเตือนว่าคีย์โฮสต์มีการเปลี่ยนแปลงเมื่อพยายาม ขึ้นอยู่กับการกำหนดค่าซึ่งจะป้องกันไม่ให้เขาเข้าสู่ระบบ

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