如何配置SSH服务,以允许特定的IP地址或IP地址范围进行远程登录?
美国、香港服务器
如何配置SSH服务,以允许特定的IP地址或IP地址范围进行远程登录?
12-30 来源:
修改 SSH 配置文件
SSH 服务的主要配置文件是/etc/ssh/sshd_config。你可以使用文本编辑器(如vi或nano)打开这个文件。
找到#ListenAddress 0.0.0.0这一行。这行表示 SSH 服务监听所有的 IP 地址。如果要限制只监听特定的 IP 地址,可以将这行修改为ListenAddress <特定IP地址>。例如,如果只想让 SSH 服务监听本地回环地址127.0.0.1,可以修改为ListenAddress 127.0.0.1。这样就只有来自本地回环地址的连接请求才能访问 SSH 服务。不过这种方式比较极端,通常我们是在允许所有 IP 访问的基础上,通过其他配置来限制特定 IP 访问。
要允许特定的 IP 地址或 IP 地址范围访问,可以使用AllowUsers和DenyUsers选项,或者AllowGroups和DenyGroups选项结合Match指令来实现更精细的访问控制。
基于用户和 IP 的访问控制(使用Match指令)
在sshd_config文件中,Match指令可以用于根据各种条件(如用户、IP 地址等)来应用不同的配置规则。例如,要允许用户user1从 IP 地址192.168.1.100登录,可以添加以下内容:
plaintext
Match User user1
Address 192.168.1.100
PermitTTY yes
ForceCommand none
其中Address指定了允许访问的 IP 地址,PermitTTY yes表示允许分配一个终端设备,ForceCommand none表示不强制执行特定的命令(这是比较常规的设置,你可以根据需要修改为其他命令)。
如果要允许一个 IP 地址范围访问,例如192.168.1.0/24网段,可以这样修改:
plaintext
Match User user1
Address 192.168.1.0/24
PermitTTY yes
ForceCommand none
基于组和 IP 的访问控制(使用Match指令)
首先,你需要创建用户组并将用户添加到组中。可以使用groupadd命令创建组,例如创建一个名为ssh - allowed - group的组:
groupadd ssh - allowed - group
然后将用户添加到这个组中,使用usermod命令。例如,将用户user1和user2添加到ssh - allowed - group中:
usermod - a - G ssh - allowed - group user1
usermod - a - G ssh - allowed - group user2
在sshd_config文件中添加以下内容来允许组内用户从特定 IP 地址或范围访问:
plaintext
Match Group ssh - allowed - group
Address 192.168.1.0/24
PermitTTY yes
ForceCommand none
重新启动 SSH 服务
在完成sshd_config文件的修改后,需要重新启动 SSH 服务,使配置生效。可以使用以下命令:
systemctl restart sshd
需要注意的是,配置访问控制时要谨慎操作,确保不会因为错误的配置而导致自己无法登录系统。在修改配置之前,最好备份原始的配置文件,以便在出现问题时可以快速恢复。同时,安全策略应该根据实际的网络环境和安全需求来制定。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快