Linux限制某些用戶或IP登錄SSH、允許特定IP登錄SSH


說明:一般要實現這種功能時,先安裝VPN,然后客戶端登錄VPN,然后通過內網IP登錄SSH。

搭建OpenVPN:

參考:http://www.cnblogs.com/EasonJim/p/8333836.html

配置服務器的SSH:

1、限制用戶SSH登錄

只允許指定用戶進行登錄(白名單):

在/etc/ssh/sshd_config配置文件中設置AllowUsers選項,(配置完成需要重啟 SSHD 服務)格式如下:

AllowUsers    aliyun test@192.168.1.1            
# 允許 aliyun 和從 192.168.1.1 登錄的 test 帳戶通過 SSH 登錄系統。

只拒絕指定用戶進行登錄(黑名單):

在/etc/ssh/sshd_config配置文件中設置DenyUsers選項,(配置完成需要重啟SSHD服務)格式如下:   

DenyUsers    zhangsan aliyun    #Linux系統賬戶        
# 拒絕 zhangsan、aliyun 帳戶通過 SSH 登錄系統

重啟SSH

service sshd restart

2、限制IP SSH登錄

說明:這里的IP是指客戶端IP,不是服務器IP,下面的例子使用了hosts.allow文件的配置方式,目的是快,但也有不靈活的,建議改成iptables的方案。

除了可以禁止某個用戶登錄,我們還可以針對固定的IP進行禁止登錄,linux 服務器通過設置/etc/hosts.allow/etc/hosts.deny這個兩個文件,hosts.allow許可大於hosts.deny可以限制或者允許某個或者某段IP地址遠程 SSH 登錄服務器,方法比較簡單,且設置后立即生效,不需要重啟SSHD服務,具體如下:

/etc/hosts.allow添加

sshd:192.168.0.1:allow  #允許 192.168.0.1 這個IP地址SSH登錄
sshd:192.168.0.:allow #允許192.168.0.1/24這段IP地址的用戶登錄,多個網段可以以逗號隔開,比如192.168.0.,192.168.1.:allow

/etc/hosts.allow添加

sshd:ALL #允許全部的ssh登錄 

hosts.allow和hosts.deny兩個文件同時設置規則的時候,hosts.allow文件中的規則優先級高,按照此方法設置后服務器只允許192.168.0.1這個IP地址的SSH登錄,其它的IP都會拒絕。

/etc/hosts.deny添加

sshd:ALL #拒絕全部IP

針對hosts.deny的參考:http://www.cnblogs.com/EasonJim/p/8338931.html

iptables方案:

還在學着,學會再來。 

 

參考:

http://blog.itpub.net/26937943/viewspace-1756999/

https://www.cnblogs.com/xiaochina/p/5920057.html

http://blog.csdn.net/chinalinuxzend/article/details/1849412

http://blog.csdn.net/god123209/article/details/17683939


免責聲明!

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



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