ฉันจะเปิดใช้งานทั้งรหัสผ่านและการตรวจสอบกุญแจสาธารณะด้วย OpenSSH ได้อย่างไร


10

ฉันต้องการให้ sshd ทำการตรวจสอบกุญแจสาธารณะของผู้ใช้จากนั้นให้ใส่รหัสผ่านของพวกเขาแทนที่จะทำอย่างใดอย่างหนึ่ง เป็นไปได้ไหม

คำตอบ:



12

ในที่สุดนี้มีให้บริการตั้งแต่ OpenSSH 6.2 (วางจำหน่ายในเดือนมีนาคม 2013) โดยใช้AuthenticationMethodsตัวเลือกการกำหนดค่า

ตัวอย่างเช่นคุณอาจเพิ่มบรรทัดต่อไปนี้sshd_configเพื่อต้องการการตรวจสอบทั้งกุญแจสาธารณะและรหัสผ่าน:

AuthenticationMethods publickey,password

เมื่อเข้าสู่ระบบsshและscpจะทำการตรวจสอบคีย์สาธารณะก่อนแล้วจึงขอรหัสผ่าน:

$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:

หากคุณมีรหัสผ่านในไฟล์กุญแจส่วนตัวของคุณแน่นอนคุณจะได้รับแจ้งก่อนว่า ตัวอย่างการใช้ PuTTY :

Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:

1

ตอนนี้ OpenSSH ใน RHEL / CentOS 6.3 รองรับคุณสมบัตินี้แม้ว่าฉันจะไม่สามารถหาได้กล่าวถึงในบันทึกประจำรุ่นของ OpenSSH จากบันทึกประจำรุ่น RHEL :

ตอนนี้คุณสามารถตั้งค่า SSH ให้ต้องการการรับรองความถูกต้องได้หลายวิธี (ก่อนหน้านี้ SSH อนุญาตการรับรองความถูกต้องหลายวิธีซึ่งจำเป็นต้องใช้การลงชื่อเข้าใช้ที่สำเร็จเพียงครั้งเดียวเท่านั้น); ตัวอย่างเช่นการล็อกอินเข้าสู่เครื่องที่เปิดใช้งาน SSH ต้องการทั้งรหัสผ่านและกุญแจสาธารณะที่จะป้อน RequiredAuthentications1และRequiredAuthentications2ตัวเลือกที่สามารถกำหนดค่าใน/etc/ssh/sshd_configไฟล์เพื่อระบุ authentications ที่จำเป็นสำหรับการเข้าสู่ระบบที่ประสบความสำเร็จในตัวอย่าง.

  ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ/etc/ssh/sshd_configตัวเลือกข้างต้นให้ดูที่sshd_configหน้า man


0

มันเป็นไปได้ แต่ในประเภท kludgish และ จำกัด ก่อนอื่นคุณอนุญาตให้ใช้การตรวจสอบสิทธิ์กุญแจสาธารณะเท่านั้น จากนั้นในการ/etc/ssh/sshd_configเพิ่มForceCommandที่รันสคริปต์ที่จะตรวจสอบรหัสผ่าน

สคริปต์จะหยุด SFTP เว้นแต่ว่าคุณจะตรวจสอบว่าคำสั่งนั้นเป็น sftp และอนุญาตให้ทำโดยไม่ต้องใช้รหัสผ่าน

ฉันไม่เคยลองทำเช่นนี้เพื่อให้ใครบางคนสามารถดูปัญหาเพิ่มเติมได้

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