ssh登陸限制規則

直接使用Linux系統的root帳戶登錄系統,在很多環境下是不允許。而且如果網絡中的所有機器都能使用ssh登錄關鍵服務器也是不允許的。這就要求我們需要使用一些手段,現在root帳號的登錄,而且是隻有指定的幾臺機器才能登錄。當然限制登錄的ip這些通過網絡設備也恩那個完成。但是我們只需要瞭解怎麼使用系統自己的功能實現,這是每一個系統管理員都比較瞭解的。
1,修改ssh的配置文件,是root用戶只能通過本地登錄,不能通過遠程ssh連接服務器。
vim /etc/ssh/sshd_config,
把#PermitRootLogin yes改成
PermitRootLogin no,然後重啓ssh服務器,root用戶就不能通過ssh遠程登錄系統了,只能通過一個普通帳號su或者本地登錄。
2,可以同修改其他系統配置文件,使之能通過幾個指定的IP遠程ssh登錄服務器。把下面這段放到root的.bash_profile文件中
ALLOWHOSTSLIST=”192.168.163.1″
REMOTEHOST=$(env | grep SSH_CLIENT | awk ‘{print $1}’ | awk -F “=” ‘{print $2}’)
if echo “${ALLOWHOSTSLIST}” | grep “${REMOTEHOST}” > /dev/null
then :
else
exit
fi
結果就只能通過IP地址是192.168.163.1這臺服務器通過ssh遠程連接本服務器了。
3,可以把需要ssh遠程服務器的IP地址添加到/etc/hosts.allow,例如下面的操作:
sshd:192.168.163.1:allow #只允許這個IP地址ssh登錄
sshd:192.168.163.:allow #允許這個網段的所有IP地址ssh登錄
sshd:all:deny #拒絕所有沒有出現在上面的IP地址的ssh連接
4,也可以使用iptables指定能夠遠程ssh到服務器的IP地址
iptables -A INPUT -p tcp –dport 22 -s 192.168.163.1 -j ACCEPT #允許這個IP地址ssh連接本服務器
iptables -A INPUT -p tcp –dport 22 -s 192.168.163.0/24 -j ACCEPT #允許這個網段的所有IP遠程ssh連接本服務器
iptables -A INPUT -p tcp –dport 22 -j DROP #除了上面允許的IP地址外,都拒絕使用ssh連接到服務器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章