然后編輯禁止連接服務器的ip地址
vim /etc/hosts.deny 輸入(表示除了上面允許的,其他的ip 都拒絕登陸ssh) sshd:ALL
編輯完上面兩個文件后,無需重啟任何配置文件,即時生效
有時候為了服務器的安全考慮,我們可以在服務器上做限制,禁止其他ip地址連接服務器。
方法一:修改ssh配置文件
其實做這個操作很簡單,只需要改/etc/ssh/sshd_config配置文件,再最后一行添加下面語句即可
allowusers root@49.4.151.24 ##注意此處添加的ip地址應為內網出口的公網ip地址,而不是局域網的內網ip allowusers root@1.119.144.11 ##可以添加多行,表示容許多個ip訪問服務器
修改完畢后重啟ssh
/etc/init.d/sshd restart
測試
可以新建個用戶,然后使用新用戶登錄,看能否登錄上;還可以讓朋友登錄測試
如果測試過程中有問題,可以看登錄日志tail -f /var/log/secure
下面日志中就可以看出來,我設置的內網ip並沒有出現在日志中,而是一個公網ip,由此可以看出,配置文件識別的是公網ip(此也可以看出來自己的公網ip地址),修改配置文件
中的內網ip為公網ip后,測試通過。
方法二:修改兩個配置文件/etc/hosts.allow和/etc/hosts.deny
/etc/hosts.allow和/etc/hosts.deny兩個文件是控制遠程訪問設置的,通過他可以允許或者拒絕某個ip或者ip段的客戶訪問linux的某項服務。 比如SSH服務,我們通常只對管理員開放,那我們就可以禁用不必要的IP,而只開放管理員可能使用到的IP段;
首先編輯允許連接服務器的ip,即可以放行的ip
Vim /etc/hosts.allow 添加一行 sshd:49.4.151.24:allow #此處ip仍然為局域網出口的公網ip
如果有多台服務器,比如我們有多台雲服務器,那么這個允許的ip地址可能不一樣,可以在登錄服務器上會有ip地址提示,如下
然后編輯禁止連接服務器的ip地址
vim /etc/hosts.deny 輸入(表示除了上面允許的,其他的ip 都拒絕登陸ssh) sshd:ALL
編輯完上面兩個文件后,無需重啟任何配置文件,即時生效
上面兩種方法對比的區別在於第一種方法限制范圍更強,不僅限制了ip,而且用戶不對,也登錄不了服務器;第二種方法只限制了ip地址,只要密碼正確,用戶名不同也可以登錄,這種適用於局域網中有多人需要登錄服務器的需求。
注意:/etc/hosts.deny中的設置會影響ansible遠程管理,如果需要ansible管理,可以將ansible所在的服務器地址(如果使用的私網ip,那么添加私網ip)添加到/etc/hosts.allow中
sshd:10.172.288.60:allow