2
วิธีที่สอดคล้องและปลอดภัยกับบัญชีที่ไม่มีรหัสผ่านด้วย SSH
ฉันต้องยอมรับว่าฉันชอบเซิร์ฟเวอร์ที่ไม่มีรหัสผ่านในบางกรณี เซิร์ฟเวอร์ทั่วไปมีความเสี่ยงต่อทุกคนที่มีสิทธิ์เข้าถึงแบบฟิสิคัล ดังนั้นในบางกรณีก็เป็นจริงเพื่อล็อคร่างกายและตั้งแต่นั้นมาไว้วางใจใด ๆการเข้าถึงทางกายภาพ แนวคิดพื้นฐาน ในทางทฤษฎีแล้วเมื่อฉันไปถึงเซิร์ฟเวอร์นั้นฉันควรจะสามารถบริหารงานโดยไม่ต้องใช้รหัสผ่านเพียงแค่พิมพ์rootเป็นชื่อล็อกอินและฉันไม่ควรขอรหัสผ่าน เช่นเดียวกันอาจนำไปใช้กับบัญชีผู้ใช้ แต่ไม่มีใครสามารถเข้าถึงได้จริง ดังนั้นจึงไม่จำเป็นต้องใช้รหัสผ่านระบบสำหรับการเข้าถึงภายใน (เป็นครั้งคราว) เมื่อเข้าถึงเซิร์ฟเวอร์จากระยะไกลไม่ว่าจะเป็นการบริหารระบบหรือสำหรับบัญชีผู้ใช้ฉันคาดว่าจะใช้คีย์ส่วนตัว SSH มันง่ายมากในการตั้งค่าคีย์ SSH สำหรับบัญชีที่เพิ่งสร้างขึ้นและไม่จำเป็นต้องใช้รหัสผ่านระบบสำหรับการเข้าถึงระยะไกล (ปกติ) # user=... # # useradd -m "$user" # sudo -i -u "$user" $ keyurl=... $ $ mkdir -p .ssh $ curl -o .ssh/authorized_keys "$keyurl" บทสรุปคือในทางทฤษฎีเราจะไม่ต้องใช้รหัสผ่านระบบใด ๆสำหรับกรณีการใช้งานเช่นนั้น ดังนั้นคำถามคือเราจะกำหนดค่าระบบและบัญชีผู้ใช้อย่างไรเพื่อให้เกิดขึ้นอย่างสอดคล้องและปลอดภัย รายละเอียดการเข้าถึงท้องถิ่น เราจะมั่นใจได้อย่างไรว่าบัญชีรูทสามารถเข้าถึงได้แบบโลคัลโดยไม่มีรหัสผ่าน? ฉันไม่คิดว่าเราสามารถใช้งานได้passwd -dเพราะจะทำให้การเข้าถึงรูทมากเกินไปและผู้ใช้ที่ไม่มีสิทธิสามารถเปลี่ยนเป็นรูทได้ฟรีซึ่งเป็นสิ่งที่ผิด เราไม่สามารถใช้passwd -lเนื่องจากป้องกันไม่ให้เราเข้าสู่ระบบ โปรดทราบว่าการเข้าถึงเฉพาะที่เกี่ยวกับการเข้าถึงโดยใช้คีย์บอร์ดท้องถิ่น …