有些 SSH clients (例如: SecureCRT)允許使用者「儲存」密碼,這對系統安全是個大忌,一旦 client 遭受入侵,server 也會暴露在危險之中。
建議直接在伺服器端取消 SSH 的 password authentication 功能,改用 keyboard interactive 的方式認證,通常這樣的話,client 就無法儲存密碼了:
1. OpenSSH – /etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication yes
2. SSH2 (Tectia) – /etc/ssh2/sshd2_config
AllowedAuthentications publickey,keyboard-interactive AuthKbdInt.Optional pam,password AuthKbdInt.Required password
修改好上述 sshd 的設定檔後,送個 HUP 給 sshd 即可(注意不要不小心把目前用的 session 也砍了,不然改錯的話只好到 console 前面去救了)
# ps ax | grep sbin/sshd | grep Ss 9767 ? Ss 0:00 /usr/sbin/sshd # kill -HUP 9767
然後就可以請大家改用 keyboard-interactive authentication 了: