ssh服務器配置文件是/etc/ssh/sshd_conf
1 port 22 修改ssh監聽端口
2 protocol 2 僅允許ssh協議版本2
3 permitrootlogin no 不允許root用戶通過ssh登錄同時創建一個沒有實際權限的虛擬用戶natasha并確保屬于wheel組用作ssh登錄
4 allowusers natasha 僅允許用戶natasha通過ssh登錄
5 ssh-keygen -t dsa 創建dsa密鑰對 私鑰位置 ~/.ssh/id_dsa 公鑰位置 ~/.ssh/id_dsa.pub 拷貝公鑰中的內容到另一臺機器的~/ssh/authorized_keys文件中
chmod 600 ~/.ssh/authorized_keys 修改該文件的權限
去掉下面3行的注釋
RSAAuthentition yes
PubkeyAuthentication no 只允許dsa認證登錄
AuthorizedKeysFile %h/.ssh/authorized_keys
6 tcp wrappers僅允許指定的主機連接
在/etc/hosts.deny 添加sshd:all 所有主機拒絕ssh服務
在/etc/hosts.allow 添加sshd:192.168.1 192.180.177.13 允許192.168.1.0網段和192.168.177.13使用ssh服務
7 使用iptables允許特定的主機連接
iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT 允許一個特定的主機連接到你的ssh服務
iptables -A INPUT -p tcp --dport 22 -j DROP 確保沒有其他的主機可以訪問ssh服務
8 ssh時間鎖定
第一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鐘內不允許在訪問SSH服務,這樣每個用戶在一分鐘內只能嘗試一次登陸:
~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP
第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸后,iptables允許該主機每分鐘嘗試一次登陸:
~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。