Ubuntu
如何設置 sshd 以同時要求私鑰和密碼?
如何設置 sshd 以同時要求私鑰和密碼?
在 /etc/ssh/sshd_config 中,我目前有:
RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication yes
但顯然這允許使用者使用私鑰或密碼登錄。
您需要設置一個 SSH 網守。這允許 openssh 允許多因素身份驗證。
這是一個很好的連結:https ://calomel.org/openssh.html
本質上,您使用 ForceCommand 指令在使用者登錄時執行腳本。然後該腳本會提示使用者輸入密碼。我目前正在尋找一種方法來根據系統密碼驗證給定密碼,但我(可以理解)空白。
如果使用者帳戶儲存在 LDAP 目錄中,您可以嘗試使用這些憑據綁定到該目錄,但問題是執行的程序將以使用者身份執行,而不是以 root 身份執行。我不知道編寫編譯程式碼並將其設置為 SUID 的安全隱患。
希望有人能給你一個更好的答案。
但既然我已經輸入了這麼多,你是在一個超安全的網站嗎?因為這真的是唯一的原因。對於 99% 的情況,帶有密碼的普通公鑰應該綽綽有餘。