阻擋 sshd 部分使用者連線 (DenyUsers, DenyGroups)

凍仁在系學會架設 Linux Server 時遇到個問題,若今天只想提供 Apache, PHP, MySQL 及 FTP 服務給社團放網頁,並限制可連線到 ssh 的機器。這樣使用者密碼再差也不容易影響運作,也可提高些系統的安全性。

以下為截取鳥哥前輩於 詳細設定 sshd 伺服器 中的一部分。
# 4.6 關於使用者抵擋的設定項目:

# 設定受抵擋的使用者名稱,如果是全部的使用者,那就是全部擋吧!
DenyUsers *

# 若是部分使用者,可以將該帳號填入!例如下列!
DenyUsers test

# 與 DenyUsers 相同!僅抵擋幾個群組而已!
DenyGroups test

筆記


1. 新增 www-no-ssh 群組 (用來阻擋使用者之群組)。
[ jonny@linux ~ ]
$ sudo groupadd www-no-ssh

2. 將預阻擋的使用者加入此群組。
[ jonny@linux ~ ]
$ sudo vi /etc/group
www-no-ssh:x:1015:Orz,QQ,123goTaiwan

3. 在 sshd_conf 裡新增 DenyGroups 來阻擋以上使用者。
[ jonny@linux ~ ]
$ sudo vi /etc/ssh/sshd_config
DenyGroups www-no-ssh

4. 重新啟動 ssh。
[ jonny@linux ~ ]
$ sudo /etc/init.d/ssh restart

資料來源:
鳥哥的 Linux 私房菜 - 詳細設定 sshd 伺服器

留言

  1. 更保險的做法不要用開 system user 的方式給帳號

    要提供的Service都用 virtual users 的方式設定供給帳號

    回覆刪除
  2. 謝謝表哥提醒XXD

    現在都已經把 admin 的帳號上鎖囉,想 ssh 必須得雙重登入才行 :P

    回覆刪除

張貼留言

喜歡這篇文章嗎?歡迎在底下留言讓凍仁知道。😉

Popular Articles

MySQL 語法匯整