note: linux sshd 要改用金鑰登入,禁止以帳號密碼登入

2019123010:22

修改 /etc/ssh/sshd_config
主要有兩項設定
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
  yes → 允許用戶以帳號+密碼登入 linux (內定是 yes )
  no  → 禁止用戶以帳號+密碼登入 linux
 
PubkeyAuthentication yes
這一行應該是已經註解 (內定 yes)
如果要 "禁止用戶以金鑰登入",就把這項設定為 no
只要這行設定 yes (或是已註解狀態) 就可以用金要登入 linux


金鑰的設定,類似:
https://mini.nidbox.com/diary/read/8884523

設定完成後
若 ssh 到遠端主機 仍被問密碼,/var/log/secure 有警告訊息:
Dec  1 12:01:30 myserver sshd[6068]: 
   Authentication refused: bad ownership or modes for directory /home/mike
可能
1.是 /home/mike 的目錄權限有問題
改設為 700 or 755 即可 (也就是不能讓 group / other 有 w 的權限)
   700 rwx------
   755 rwxr-xr-x

2. /home/mike/.ssh/authorized_keys  的權限
設為 600




另外參考:
# Change to no to disable s/key passwords
ChallengeResponseAuthentication no  (default no)
是否允許 "一次性密碼"

有關 s/key 參考:
https://en.wikipedia.org/wiki/S/KEY