คีย์ SSH ของฉันจับคู่กับฉันในฐานะมนุษย์หรือด้วยบัญชีผู้ใช้ของฉันในเครื่องเดียวหรือไม่?


11

ในช่วงไม่กี่วันที่ผ่านมาฉันพยายามทำความคุ้นเคยกับ SSH และหวังว่าฉันจะเข้าใจ

ยังคงมีคำถามหนึ่งข้อ - รหัสของฉันเกี่ยวข้องกับฉัน (ในฐานะผู้ใช้) หรือบัญชีผู้ใช้ของฉันบนเครื่องหรือไม่

คำตอบ:


8

คุณไม่มีกุญแจคุณมีคู่กุญแจ วิธีที่คุณจัดการแต่ละอย่างนั้นแตกต่างกันมาก รหัสสาธารณะของคุณสามารถโพสต์ได้ที่ Twitter และแบ่งปันกับทุกคนทั่วโลก (รวมถึงคด) รหัสส่วนตัวของคุณจะต้องได้รับการปกป้องอย่างระมัดระวัง

ฉันมีกุญแจสาธารณะเดียวกันบนเซิร์ฟเวอร์ทั้งหมดที่ฉันเข้าถึงผ่าน SSH

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


2
ไม่มีที่ไหนอีกแล้ว? คุณควรสำรองข้อมูลไว้ (ปลอดภัยอย่างเหมาะสม)
lumbric

8

รหัสส่วนตัวแสดงถึงตัวตนของคุณ การที่จะมีปุ่มต่าง ๆ บนเครื่องที่แตกต่างกันนั้นขึ้นอยู่กับว่าคุณพิจารณา“ ฉันบนเครื่อง A” และ“ ฉันบนเครื่อง B” เพื่อเป็นตัวตนเดียวกันหรือไม่

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

ข้อได้เปรียบหลักของการมีกุญแจส่วนตัวหลาย ๆ อันคือการจำกัดความเสียหายที่อาจเกิดขึ้นได้หากกุญแจถูกบุกรุก

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


5

สำหรับ ssh keypair (สาธารณะ + ส่วนตัว) แสดงถึงตัวตนเดียว คุณเก็บรหัสส่วนตัวที่มีการป้องกันไว้ในเครื่องที่คุณเชื่อถือและสามารถป้องกันได้ คุณวางข้อมูลกุญแจสาธารณะของคุณลงในเครื่องที่คุณต้องการเข้าถึงจากระยะไกลผ่านการตรวจสอบกุญแจ

คุณไม่ควรใส่กุญแจส่วนตัวของคุณลงในเครื่องที่คุณไม่ไว้วางใจดังนั้นการคัดลอกไฟล์. ssh / รอบ ๆ อาจมีความเสี่ยง

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

สมมติว่าคุณมีหนึ่งเครื่องที่คุณเชื่อถือและ 12 ที่คุณต้องการเชื่อมต่อคุณจะใส่ข้อมูลกุญแจสาธารณะของคุณลงในไฟล์. ssh / authorized_keys บนเครื่อง 12 เครื่อง

หลังจากนั้นคุณอาจมีเครื่องอื่นที่คุณไว้วางใจอย่างเต็มที่ เป็นทางเลือกของคุณไม่ว่าคุณจะสร้างคู่กุญแจสาธารณะ / ส่วนตัวใหม่สำหรับเครื่องนั้นและคัดลอกกุญแจสาธารณะไปยังไฟล์ 12 .ssh / authorized_keys หรือไม่ว่าคุณจะคัดลอกกุญแจส่วนตัวของคุณไปยังเครื่องใหม่ กับ 12 เครื่องอื่น ๆ ) ขึ้นอยู่กับว่าคุณไว้ใจเครื่องจักรที่มีปัญหามากแค่ไหน

ฉันพยายามที่จะมีคู่กุญแจน้อยที่สุดเท่าที่จะทำได้เพื่อความปลอดภัยที่คุณพยายามจะทำ

หลักฐานขั้นพื้นฐานของคุณนั้นถูกต้องแม้ว่าคู่กุญแจจะสัมพันธ์กับคุณมากกว่าที่จะเป็นบัญชี (นั่นคือคุณสามารถใส่รหัสสาธารณะเดียวกันลงในบัญชี 3 บัญชีบนเซิร์ฟเวอร์จากนั้นให้ ssh ใด ๆ จากเครื่องของคุณโดยมีเพียง คีย์ส่วนตัวเดียว)


1

คีย์แพร์ของฉันเกี่ยวข้องกับฉัน (ในฐานะมนุษย์) หรือกับบัญชีผู้ใช้ของฉันบนเครื่องท้องถิ่นของฉันหรือไม่

กุญแจนั้นเกี่ยวข้องกับบัญชีผู้ใช้ที่คุณเลือกติดตั้ง

คุณมีรหัสเดียวกันบนคอมพิวเตอร์ทุกเครื่องที่คุณใช้หรือไม่ หรือแตกต่างกันสำหรับทุกเครื่อง?

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


'ทำสิ่งที่คุณต้องการ' ไม่เป็นประโยชน์
Eric Wilson

@FarmBoy โดยตรงตอบคำถาม "มันทำงานอย่างไร" กับ "มันสามารถทำได้ทั้งสองวิธี" แทบจะไม่ตอบกลับไร้ประโยชน์
psusi

1
คำถามก็คือ 'ควรจะทำแบบไหน' ดังนั้นถ้าคำตอบคือ 'มันสามารถทำได้ทั้งสองทาง' มันจะเป็นการดีที่สุดที่จะรวมข้อดีของวิธีการต่าง ๆ และคำแนะนำบางอย่างเกี่ยวกับการตัดสินใจ
Eric Wilson

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