限制ip ssh遠程登錄


然后編輯禁止連接服務器的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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM