配置前需要知道的事情
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