[security] 關閉 ssh 使用密碼登入,僅允許 authorized_keys 登入

如果你也是自己有自架機器 或是 購買 雲端主機商(DigitalOcean / Linode….) 服務的使用者,多少會利用 sshd 服務啟用允許 ssh 連線,如果本身沒有限制 22 port 的相關防火牆設定,每天基本上都會有大量的惡意使用者或程式嘗試連線你的機器,基礎的話可以先設定 fail2ban 相關設定做一些阻擋。

備註: 如果要看看過去幾天有多少 ip(使用者)嘗試 ssh 登入失敗可以使用以下指令

 tail -n 1000 /var/log/auth.log | grep -i failed

更安全一點的方式可以將使用 帳號/密碼 的 ssh 登入方式直接關閉,使用 public / private key 作為登入方式,以下是相關設定步驟

  • 修改 vim /etc/ssh/sshd_config,新增以下設定
# Disable password login
PasswordAuthentication no
PermitEmptyPasswords no
  • 重啟 sshd service 以生效設定
sudo service sshd restart

Leave a Reply