Linux 系统中限制SSH登录源IP(linux限制ip地址远程登录)


一、概述:

在Linux系统的运维工作中,我们通常采用SSH协议来连接远程服务器。为了提升企业网络和服务器本身的安全性,一个常见的做法是在服务器上配置SSH登录源IP地址的限制。具体而言,就是仅允许特定的IP地址或IP地址段通过SSH连接到服务器。限制SSH登录源IP的方法多种多样,本文将重点介绍如何通过配置host.deny文件来实现这一安全限制。

Linux 系统中通过 host.deny 限制 SSH 登录源的配置方法

在 Linux 系统中,host.deny文件是 TCP Wrapper 安全机制的重要组成部分,可通过它限制特定 IP 或 IP 段对 SSH 服务的访问,有效提升服务器安全性。以下是具体配置步骤与注意事项:

二、host.deny 的工作原理

TCP Wrapper 通过/etc/hosts.allow(允许规则)和/etc/hosts.deny(拒绝规则)控制网络服务访问,规则匹配优先级为:

  1. 先检hosts.allow,匹配则允许访问;
  1. 若未匹配,再检hosts.deny,匹配则拒绝访问;
  1. 均无匹配时,默认允许访问。

对于 SSH 服务,需确sshd程序被 TCP Wrapper 管理(大多数 Linux 发行版默认支持)。

三、配置 host.deny 限制 SSH 登录

  1. 编辑 host.deny 文件

使用文本编辑器打开配置文件:

TypeScript取消自动换行复制

sudo vim /etc/hosts.deny

  1. 添加拒绝规则

格式:服务名: 源地址,支持多种匹配方式:

  • 拒绝单个 IP:

sshd: 192.168.1.100

  • 拒绝 IP 段(如 192.168.1.0/24):

sshd: 192.168.1. (简写,匹配 192.168.1.x)

或 sshd: 192.168.1.0/255.255.255.0

  • 拒绝所有 IP(谨慎使用):

sshd: ALL

  • 例外允许(结合 hosts.allow):

若需拒绝所有 IP 但允许特定地址,可hosts.denysshd: ALL,同时hosts.allow中添加允许规则(sshd: 10.0.0.5)。

  1. 保存生效

无需重启服务,规则立即生效。测试被拒绝的 IP 登录时,会收到类似提示:

原文链接:,转发请注明来源!