เมื่อคุณต้องการให้มีการเข้าสู่ระบบด้วยรหัสสาธารณะสำหรับเครื่องหลายเครื่องคุณจะใช้กุญแจส่วนตัวหนึ่งอันและใส่รหัสสาธารณะที่เหมือนกันในเครื่องทั้งหมดหรือไม่? หรือคุณมีคู่คีย์ส่วนตัว / สาธารณะสำหรับแต่ละการเชื่อมต่อ?
เมื่อคุณต้องการให้มีการเข้าสู่ระบบด้วยรหัสสาธารณะสำหรับเครื่องหลายเครื่องคุณจะใช้กุญแจส่วนตัวหนึ่งอันและใส่รหัสสาธารณะที่เหมือนกันในเครื่องทั้งหมดหรือไม่? หรือคุณมีคู่คีย์ส่วนตัว / สาธารณะสำหรับแต่ละการเชื่อมต่อ?
คำตอบ:
ฉันใช้หนึ่งคีย์ต่อชุดระบบที่ใช้ขอบเขตการดูแลร่วมกัน สิ่งนี้ จำกัด จำนวนเครื่องที่ถูกตอกถ้าคีย์ถูกบุกรุกในขณะที่ความจุของฉันไม่เพียงพอในการจัดเก็บและจัดการหลายพันปุ่ม วลีรหัสผ่านที่แตกต่างกันในแต่ละคีย์หมายความว่าแม้ว่ากุญแจส่วนตัวของคุณทั้งหมดจะถูกขโมยและมีกุญแจเดียวที่ถูกบุกรุกส่วนที่เหลือจะไม่ลงไปในห้องน้ำด้วย นอกจากนี้หากคุณทำสิ่งที่โง่ (เช่นคัดลอกคีย์ส่วนตัวไปยังเครื่องที่ไม่น่าเชื่อถือ) คุณไม่จำเป็นต้อง rekey ทุกสิ่งอีกเพียงแค่เครื่องที่เกี่ยวข้องกับคีย์นั้น
กุญแจสาธารณะไม่สำคัญมากเนื่องจากตามคำจำกัดความมันสามารถเผยแพร่ได้ ดังนั้นประเด็นเดียวคือความเป็นส่วนตัวของคีย์ส่วนตัวของคุณ พวกมันอยู่ในเครื่องของคุณและรวมเข้าด้วยกันดังนั้นถ้าใครถูกโจมตีก็มีโอกาสที่พวกมันจะถูกโจมตี ดังนั้นคีย์แพร์หลายคู่จึงใช้งานได้มากกว่าสำหรับเอฟเฟกต์เดียวกัน
ครั้งเดียวที่ฉันจะใช้คีย์ที่แตกต่างกันสำหรับบัญชีที่แตกต่างกันหรือบทบาทที่แตกต่างกันซึ่งตามคำนิยามไม่ควรมีการทับซ้อนในการเข้าถึงที่สมบูรณ์
หากฉันเข้าใจถูกต้องเซิร์ฟเวอร์แต่ละเครื่องจะมีกุญแจสาธารณะของตัวเอง
สำหรับผู้ใช้ที่กำหนดคุณสามารถสร้างหนึ่งคีย์และใช้งานได้ทุกที่ตราบใดที่มีการจำลองคีย์ส่วนตัวไปยังโฮสต์ที่เริ่มต้นทั้งหมด (สิ่งนี้จะเกิดขึ้นโดยอัตโนมัติผ่านโฮมไดเร็กตอรี่ที่เชื่อมต่อกับเครือข่ายและระบบตรวจสอบความถูกต้องแบบไดเรกทอรีเช่น OpenLDAP เนื่องจากผู้ใช้จะ "เหมือนเดิม" เสมอไม่ว่าเวิร์กสเตชันใดที่พวกเขาล็อกอิน)
นอกเหนือจากระบบผู้ใช้ที่เป็นไดเรกทอรีแล้วฉันคิดว่ามันเป็นความคิดที่แย่ที่จะใช้คีย์เดียวกันทุกที่ - คุณจบลงด้วยการลดความปลอดภัยของระบบสุทธิเนื่องจากทุกคนที่สามารถรับกุญแจจากเวิร์กสเตชันเครื่องใดก็ได้ ผู้ใช้นั้นไปยังเซิร์ฟเวอร์ระยะไกล
ทางเลือกอื่นที่ emplyed โดย บริษัท ขนาดใหญ่หลายแห่ง (และฉันแน่ใจว่าเล็กเกินไปเช่นกัน) คือไม่อนุญาตให้ "ผู้ใช้" ใช้คีย์ที่แบ่งปันล่วงหน้า แต่แทนที่จะลงชื่อเข้าใช้กล่อง "กระโดด" หรือ "ฮับ" , su
ให้กับผู้ใช้ในการเชื่อมต่อที่เหมาะสมแล้ว SSH จากที่นั่นไปยังเซิร์ฟเวอร์ที่พวกเขาจะต้องจัดการ
นอกจากนี้หากคุณใช้ระบบการจัดการเช่นแพลตฟอร์ม Server Automation ของ HP การดูแลเซิร์ฟเวอร์ที่จัดการจากระยะไกลจะกลายเป็นกระบวนการที่ง่ายขึ้น
su
เซสชั่นถูกบันทึกไว้ แต่ก็สามารถตรวจสอบได้
su
เซสชันที่ตรวจสอบได้และไม่ใช่เซสชันอื่น
อย่างที่คนอื่น ๆ พูดถึงแม้ว่าความคิดของกุญแจคู่หลายคู่อาจดูปลอดภัยมากขึ้นหากมีโอกาสที่พวกเขาจะถูกนำไปใช้ในลักษณะที่พวกเขาทั้งหมดอยู่ในที่เดียวกันมันจะยุ่งยากและไม่ปลอดภัยกว่า วลีรหัสผ่านหลายรายการจะทำให้ปลอดภัยยิ่งขึ้น แต่ก็ยังปวดหัวมากเมื่อพยายามจดจำวลีรหัสผ่านที่คีย์และรหัสใดจะไปกับเซิร์ฟเวอร์ใด
คำตอบที่สมเหตุสมผลที่สุดสำหรับฉันคือคำตอบที่ควรทำหากเกี่ยวข้องกับบทบาทการดูแลระบบที่แยกจากกันโดยไม่ทับซ้อนกันมาก เช่นนี้มันอาจเป็นคนที่แตกต่างกันจัดการกับบทบาทที่แตกต่างกันหรือในเวิร์กสเตชันที่แตกต่างกันหรืออะไรก็ตาม ในกรณีนี้คุณมีสิ่งที่พิเศษกว่าที่จะรับมือกับบทบาทที่แตกต่างกันไปในแต่ละบทบาทดังนั้นจึงมีความสมเหตุสมผลมากกว่า
เพื่อความสะดวกในการจัดการเซิร์ฟเวอร์ที่มีความสามารถหลาย SSH คุณอาจต้องการที่จะตรวจสอบCssh คุณสามารถรวม cssh กับคีย์รหัสผ่าน SSH เพื่อเพิ่มความสามารถในการจัดการเซิร์ฟเวอร์หลายเครื่องพร้อมกันได้อย่างมาก