Linux SSH 加固:设置 SSH 白名单限制远程访问 IP

落芳君_1244

落芳君_1244

2026-08-18

1064人浏览

原创

allowusers是最轻量且优先级最高的ssh用户级白名单机制,认证前过滤请求,仅放行明确列出的“用户名@ip”组合,不匹配者无密码提示;需语法校验后重启sshd生效,支持*和?通配符,不支持正则。

linux ssh 加固:设置 ssh 白名单限制远程访问 ip

直接在 SSH 服务层设白名单,是最清晰、最可控的方式。核心就是用 AllowUsers 指令精确指定“谁 + 从哪”能登录,其他一概拒绝。

用 AllowUsers 精确控制用户与来源 IP

编辑 /etc/ssh/sshd_config,在文件末尾添加 AllowUsers 行:

  • 格式必须是 用户名@IP地址 或 用户名@CIDR网段,中间不能有空格,多个条目用空格分隔
  • 支持 IPv4 和 IPv6,例如:admin@192.168.1.100、deploy@2001:db8::1/64
  • 如果只限制 IP 不限定用户,可写成 AllowUsers *@192.168.5.0/24;但生产环境建议始终绑定具体用户名
  • 示例配置:AllowUsers root@203.0.113.12 admin@192.168.10.5 deploy@2001:db8::/64

保存后执行 sudo systemctl restart sshd 生效。注意:重启会断开当前连接,务必提前确保有控制台(如云平台 VNC)或留一个未关闭的本地终端备用。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

防火墙级白名单:iptables 或 firewalld

这类方法在内核层面拦截,不依赖 SSH 服务本身,适合多服务统一管控或新版 OpenSSH 已禁用 tcp_wrappers 的系统。

  • iptables:规则顺序至关重要。先插入允许规则到 INPUT 链顶部,再设默认策略为 DROP
    例如:sudo iptables -I INPUT 1 -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
    然后:sudo iptables -P INPUT DROP,最后保存规则
  • firewalld:避免用 --add-source(它只把 IP 加入 zone,不自动限制端口)。应使用 rich rule:
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
    执行 firewall-cmd --reload 生效

hosts.allow / hosts.deny(仅限启用 libwrap 的系统)

该方式依赖 tcp_wrappers 库,Ubuntu 22.04+、RHEL 9+ 等新版系统默认已禁用,需先确认是否生效:

  • 运行 sshd -T | grep use_pam,若输出 use_pam yes,再检查 /etc/pam.d/sshd 是否加载 pam_access.so
  • 若可用,编辑 /etc/hosts.allow 添加:sshd: 192.168.1.100 : allow
  • 再在 /etc/hosts.deny 中写:sshd: ALL
  • 无需重启 sshd,规则立即生效;但优先级低于防火墙,且不支持端口或协议细化

验证与防锁死要点

无论选哪种方式,上线前都必须验证,防止误操作导致自己无法登录:

  • 始终保留一个本地控制台或带 VNC 的云平台访问通道
  • 测试时先加一条自己的 IP 规则,确认能连上,再逐步收紧
  • iptables/firewalld 规则要检查顺序:iptables -nL INPUT --line-numbers;firewalld 查看:firewall-cmd --list-all
  • 修改 sshd_config 后,可用 sudo sshd -t 检查语法是否正确,再重启

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4425

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

395

21

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

60

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

160

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习