ฉันกำลังติดตั้งเดสก์ท็อป Linux ใหม่ฉันจะทำให้การเข้าสู่ระบบ SSH ทำงานได้อย่างไร


15

นานมาแล้วฉันสร้างกุญแจคู่โดยใช้ssh-keygenและฉันใช้ssh-copy-idเพื่อเปิดใช้งานการเข้าสู่การพัฒนา VM จำนวนมากโดยไม่ต้องป้อนรหัสผ่านด้วยตนเอง ฉันได้อัปโหลดยังกุญแจสาธารณะของฉันบน GitHub, GitLab และที่คล้ายกันในการตรวจสอบไปยังที่เก็บคอมไพล์โดยใช้แทนgit@https://

ฉันจะติดตั้งเดสก์ท็อป Linux ของฉันใหม่และการเข้าสู่ระบบเหล่านี้ทำงานได้อย่างไร? สำรองและกู้คืน~/.ssh/เพียงพอหรือไม่


2
นั่นเป็นหนึ่งในหลาย ๆ เหตุผลว่าทำไมเมื่อคุณติดตั้งสภาพแวดล้อม Linux ใหม่คุณควรมีพาร์ติชั่น/และอีกอันหนึ่งสำหรับ/home
4454 Olegario

4
@olegario ฉันไม่เห็นด้วย ฉันใช้ลีนุกซ์เพื่อส่วนที่ดีกว่าในชีวิตของฉัน, และขณะนี้ดูแลเครื่องมากกว่า 100 เครื่อง, แต่ฉันพบ/homeพาร์ติชั่นแยกต่างหากทั้งเรื่องยุ่งยากและการใช้งานที่ จำกัด ฉันเข้าใจว่าบางคนพบว่ามีประโยชน์และไม่เป็นไร แต่ฉันคิดว่ามันไม่เพียงพอสำหรับสถานการณ์ผู้ปฏิบัติการ
marcelm

5
ไม่มีข้อได้เปรียบใด ๆ สำหรับพาร์ติชันที่สำรองข้อมูลและกู้คืน/homeผ่านทางtarหรือวิธีการอื่น ๆ เว้นแต่ว่าคุณวางแผนที่จะนำพาร์ติชั่นที่มีอยู่กลับมาใช้ใหม่ซึ่งมีความเสี่ยงอยู่แล้วด้วยตัวติดตั้งระบบปฏิบัติการส่วนใหญ่ ลบระหว่างการติดตั้ง
. GitHub หยุดช่วยน้ำแข็ง

1
เมื่อติดตั้งเสร็จแล้วไม่ว่าคุณจะลงมือทำอะไรคุณอาจต้องการพิจารณาว่ามีคู่กุญแจเพียงคู่เดียวสำหรับทุกสิ่ง
CVn

คำตอบ:


29

คุณต้องสำรองกุญแจส่วนตัวอย่างน้อยที่สุด พวกเขาไม่สามารถสร้างใหม่ได้โดยไม่ต้องเปลี่ยนรหัสสาธารณะของคุณทุกที่ โดยปกติจะมีชื่อขึ้นต้นด้วยid_และไม่มีส่วนขยาย

ssh-keygen -y -f path/to/private/keyคีย์สาธารณะสามารถสร้างใหม่ด้วยคำสั่งนี้ การกำหนดค่าผู้ใช้ของคุณ (ไฟล์ชื่อ "config") อาจมีประโยชน์หากคุณตั้งค่าที่ไม่ใช่ค่าเริ่มต้น

ไฟล์ทั้งหมดเหล่านี้จะได้ตามปกติจะอยู่ใน ~ / .ssh แต่ตรวจสอบครั้งแรก!


28

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

ปกติสำรองและเรียกคืนว่าไดเรกทอรีเป็นพอ แต่ก็เป็นไปได้ในการจัดเก็บกุญแจอื่น ๆ โดยใช้การตั้งค่าที่กำหนดเองใน~/.ssh/configหรือ/etc/ssh/ssh_configหรือโดยใช้ SSH ตัวแทนและssh-addจะรับกุญแจที่จะนำมาใช้ในการเชื่อมต่อขาออกจากตำแหน่งโดยพลการ .

ถ้าคุณมีที่เข้ามาเชื่อมต่อ SSH คุณยังอาจพิจารณาสำรองคีย์โฮสต์ SSH /etc/ssh/ssh_host_*ที่ หากคุณไม่สำรองข้อมูลเหล่านี้คีย์โฮสต์ใหม่จะถูกสร้างขึ้นโดยอัตโนมัติsshdในขณะที่เริ่มการติดตั้งใหม่เป็นครั้งแรกและการเชื่อมต่อ SSH ขาเข้าใด ๆ จะแสดง "คีย์โฮสต์ SSH ไม่ตรงกันบางคนอาจทำอะไรไม่ดี!" ข้อความแสดงข้อผิดพลาดและมักจะปฏิเสธการเชื่อมต่อเว้นแต่มีคนลบคีย์โฮสต์เก่าบนไคลเอนต์ SSH และยอมรับใหม่อย่างชัดเจน

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


1
+1 นี่คือคำตอบที่ได้รับการยอมรับ ในการเข้าสู่ระบบจากเครื่องอื่นคุณจะต้องเก็บโฮสต์คีย์ซึ่งโดยปกติจะเก็บไว้ใน/etc/sshชื่อไฟล์คือssh_host_*(หลายไฟล์สำหรับอัลกอริทึมที่แตกต่างกัน)
rexkogitans

2
โปรดทราบว่าถ้าคุณ SSHing ในคุณอาจต้องการที่จะหมุนโฮสต์กุญแจอยู่แล้ว แต่ขึ้นอยู่กับสถานการณ์การจัดการคีย์ของคุณ (เช่นคีย์ถูกสร้างขึ้นเมื่อหลายปีก่อนและคุณ/etc/ssh/ssh_host_ed25519_keyยังไม่มีหรือคุณมีคีย์ RSA 1024 หรือแม้กระทั่งคีย์ DSS)
Piskvor ออกจากอาคารเมื่อ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.