Linux服務(wù)器實現(xiàn)SSH限制IP訪問

配置前需要知道的事情

OpenSSH6.7開始默認(rèn)關(guān)閉TCPwrappers支持,所以在OpenSSH6.7版本以上使用hosts.allow和hosts.deny不會生效

hosts.allow文件和hosts.deny文件

文件位置/etc/下
hosts.allow中設(shè)置允許SSH訪問的IP或IP段
hosts.deny中設(shè)置禁止SSH訪問的IP或IP段
當(dāng)hosts.allow與hosts.deny配置沖突時,以hosts.allow為準(zhǔn)
hosts.allow/hosts.deny格式為:

允許/拒絕IP段訪問
sshd:192.168.x.x
允許/拒絕IP訪問
sshd:192.168.1.2
允許/拒絕所有訪問
sshd:all

配置后可能有配置不生效的情況,這時需要檢查一下服務(wù)是否應(yīng)用了libwrapped庫文件

# ldd /usr/sbin/sshd |grep libwrap.so.0

執(zhí)行上面代碼塊中的命令后若沒有返回值說明ssh服務(wù)未應(yīng)用libwrapped庫文件。使用yum重新安裝ssh即可解決問題

# yum -y remove openssh
# yum -y install openssh openssh-server

firewalld

取消默認(rèn)開啟的沒有訪問限制的ssh服務(wù),讓ssh服務(wù)默認(rèn)情況下拒絕連接

firewall-cmd --permanent --remove-service=ssh

允許ip或ip段訪問22端口的ssh服務(wù)

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept"

取消ip或ip段訪問22端口的ssh服務(wù)

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept"

重載firewall配置,使其生效

firewall-cmd --reload

查看規(guī)則

firewall-cmd --zone=public --list-rich-rules
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容