เป็นความคิดที่ดีหรือไม่ที่จะใช้คีย์ ssh ส่วนตัวบนคอมพิวเตอร์หลายเครื่อง?


35

ฉันเพิ่งซื้อแล็ปท็อปที่ฉันจำเป็นต้องเข้าถึงโฮสต์ระยะไกลเดียวกันกับที่ฉันทำจากเดสก์ท็อปของฉัน มันเกิดขึ้นกับฉันว่ามันเป็นไปได้ที่จะคัดลอกไฟล์คีย์ส่วนตัวจากเดสก์ท็อปของฉันไปยังแล็ปท็อปของฉันและหลีกเลี่ยงการเพิ่มคีย์ใหม่ให้กับ~/.ssh/authorized_keysไฟล์ในโฮสต์ทั้งหมดที่ฉันต้องการเข้าถึง ดังนั้นคำถามของฉันคือ:

  1. เป็นไปได้ไหม
  2. มีผลกระทบด้านความปลอดภัยที่ไม่ชัดเจนหรือไม่?
  3. บางครั้งฉันจะลงชื่อเข้าใช้เดสก์ท็อปจากแล็ปท็อปของฉัน หากใช้คีย์เดียวกันนั่นจะทำให้เกิดปัญหาหรือไม่

2
ฉันสงสัยว่าคุณหมายถึง authorized_keys ไม่ใช่ known_hosts อดีตคือการเข้ามาหลังสำหรับการส่งออก
Matthew Schinckel

จับดี. คงที่
เจสันเครตัน

คำตอบ:


29

ใช่มันเป็นไปได้ รหัสส่วนตัวของคุณไม่ได้เชื่อมโยงกับเครื่องเดียว

ไม่แน่ใจว่าสิ่งที่คุณหมายถึงโดยไม่ชัดเจนมักเป็นเรื่องส่วนตัว;) ไม่ใช่ความคิดที่เลวถ้าคุณแน่ใจว่าคุณมีชุดข้อความรหัสผ่านที่รัดกุมอย่างน้อย 20 ตัวอักษร

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

จากหน้า ssh-agent บนระบบ Linux:

ssh-agent เป็นโปรแกรมที่จะเก็บกุญแจส่วนตัวที่ใช้สำหรับการตรวจสอบกุญแจสาธารณะ (RSA, DSA) แนวคิดคือ ssh-agent เริ่มต้นขึ้นในตอนต้นของเซสชัน X หรือเซสชันล็อกอินและหน้าต่างหรือโปรแกรมอื่น ๆ ทั้งหมดเริ่มต้นเป็นไคลเอนต์ไปยังโปรแกรม ssh-agent ผ่านการใช้ตัวแปรสภาพแวดล้อมเอเจนต์สามารถหาตำแหน่งและใช้สำหรับการพิสูจน์ตัวตนโดยอัตโนมัติเมื่อล็อกอินเข้าสู่เครื่องอื่นโดยใช้ ssh (1)

คุณจะใช้งานบนแล็ปท็อปของคุณไม่ว่าจะเป็นโปรแกรม ssh-agent บน Linux / Unix (มาพร้อมกับ OpenSSH) หรือกับ puTTY agent หากคุณใช้ Windows คุณไม่ต้องการให้เอเจนต์ทำงานบนระบบรีโมตใด ๆ ซึ่งจะเก็บคีย์ส่วนตัวของคุณไว้ในหน่วยความจำบนระบบโลคัลดังนั้นคุณต้องป้อนข้อความรหัสผ่านของคุณเพียงครั้งเดียวเพื่อโหลดคีย์ในเอเจนต์

การส่งต่อเอเจนต์เป็นคุณลักษณะของไคลเอ็นต์ ssh ( sshหรือผงสำหรับอุดรู) ที่จะคงไว้ซึ่งเอเจนต์ผ่านไปยังระบบอื่นผ่านการเชื่อมต่อ ssh


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

Updated คำตอบ :)
jtimberman

10

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

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


ขออภัยที่ไม่รวมโพสต์เก่า แต่คุณคิดว่าวิธีนี้จะบรรเทาลงได้ด้วยการเข้ารหัสรหัสส่วนตัวด้วยรหัสผ่านหรือไม่ หรือในกรณีของคุณรหัสผ่านถูกบุกรุกด้วยหรือไม่
สาม

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