ฉันได้ตั้งค่า. ssh / authorized_keys และสามารถเข้าสู่ระบบด้วย "ผู้ใช้" ใหม่โดยใช้ pub / private key ... ฉันได้เพิ่ม "user" ไปยังรายการ sudoers ... ปัญหาที่ฉันมีตอนนี้คือเมื่อ ฉันพยายามรันคำสั่ง sudo ง่าย ๆ เช่น:
$ sudo cd /root
มันจะทำให้ฉันใส่รหัสผ่านที่ฉันป้อน แต่ใช้ไม่ได้ (ฉันใช้รหัสผ่านส่วนตัวที่ฉันตั้งไว้)
นอกจากนี้ฉันได้ปิดใช้งานรหัสผ่านของผู้ใช้โดยใช้
$ passwd -l user
ฉันพลาดอะไรไป
ข้อสังเกตเบื้องต้นของฉันถูกเข้าใจผิด ...
ฉันกำลังพยายามที่จะทำให้ระบบของฉันแข็งขึ้น ... เป้าหมายสูงสุดคือการใช้ pub / private keys ในการเข้าสู่ระบบเทียบกับการพิสูจน์ตัวตนด้วยรหัสผ่านแบบง่าย ฉันพบวิธีการตั้งค่าทั้งหมดนั้นผ่านไฟล์ authorized_keys
นอกจากนี้ฉันจะป้องกันการล็อกอินเซิร์ฟเวอร์ในที่สุดผ่านบัญชีรูท แต่ก่อนที่ฉันจะทำฉันต้องใช้ sudo เพื่อทำงานกับผู้ใช้คนที่สอง (ผู้ใช้ที่ฉันจะเข้าสู่ระบบตลอดเวลา)
สำหรับผู้ใช้ที่สองนี้ฉันต้องการป้องกันการเข้าสู่ระบบด้วยรหัสผ่านปกติและบังคับให้ลงชื่อเข้าใช้แบบผับ / ส่วนตัวเท่านั้นหากฉันไม่ล็อกผู้ใช้ผ่าน "ผู้ใช้ passwd -l ... จากนั้นถ้าฉันไม่ได้ใช้กุญแจ เข้าสู่เซิร์ฟเวอร์ด้วยรหัสผ่านปกติ
แต่ที่สำคัญฉันต้องใช้ sudo เพื่อทำงานกับการตั้งค่าคีย์ / ผับ / ส่วนตัวกับผู้ใช้ที่ปิดใช้งานรหัสผ่านของเขา / เธอ
แก้ไข:ตกลงฉันคิดว่าฉันได้รับแล้ว (วิธีแก้ไข):
1) ฉันได้ปรับ / etc / ssh / sshd_config แล้วตั้งค่าPasswordAuthentication no
สิ่งนี้จะป้องกันการลงชื่อเข้าใช้รหัสผ่าน ssh (ต้องแน่ใจว่ามีการตั้งค่าคีย์สาธารณะ / ส่วนตัวที่ใช้งานได้ก่อนที่จะทำสิ่งนี้
2) ฉันได้ปรับรายการ sudoers visudo
และเพิ่ม
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root เป็นบัญชีผู้ใช้เดียวที่จะมีรหัสผ่านฉันกำลังทดสอบกับสองบัญชีผู้ใช้ "dimas" และ "sherry" ซึ่งไม่มีชุดรหัสผ่าน (รหัสผ่านว่างเปล่าpasswd -d user
)
ข้างต้นเป็นหลักป้องกันไม่ให้ทุกคนเข้าสู่ระบบด้วยรหัสผ่าน (รหัสสาธารณะ / ส่วนตัวจะต้องตั้งค่า)
นอกจากนี้ผู้ใช้ในรายการ sudoers มีความสามารถของผู้ดูแลระบบ พวกเขายังสามารถsu
ไปยังบัญชีที่แตกต่างกัน ดังนั้นโดยทั่วไป "ดิมัส" สามารถsudo su sherry
แต่ "ดิมัสไม่สามารถทำsu sherry
. ในทำนองเดียวกันผู้ใช้ใด ๆ ไม่ได้อยู่ในรายการ sudoers ไม่สามารถทำหรือsu user
sudo su user
หมายเหตุการทำงานด้านบน แต่ถือว่ามีความปลอดภัยต่ำ สคริปต์ใด ๆ ที่สามารถเข้าถึงรหัสในฐานะผู้ใช้ "dimas" หรือ "sherry" จะสามารถเรียกใช้ sudo เพื่อเข้าถึงรูทได้ ข้อผิดพลาดใน ssh ที่อนุญาตให้ผู้ใช้ระยะไกลเข้าสู่ระบบแม้จะมีการตั้งค่าการเรียกใช้รหัสระยะไกลในบางสิ่งเช่น Firefox หรือข้อบกพร่องอื่น ๆ ที่อนุญาตให้เรียกใช้รหัสที่ไม่พึงประสงค์ได้ Sudo ควรใช้รหัสผ่านเสมอมิฉะนั้นคุณอาจเข้าสู่ระบบในฐานะ root แทนผู้ใช้รายอื่น