堡垒机专属SSH安全策略核心是业务服务器仅信任堡垒机入口、切断所有直连:①用AllowUsers+防火墙双控来源;②禁密码、强制ED25519密钥并限制from地址;③启用VERBOSE日志、ForceCommand最小权限隔离;④禁root、设会话超时、配fail2ban防横向。

为堡垒机配置专属 SSH 安全策略,核心不是“单独开一个服务”,而是让业务服务器只信任堡垒机这一入口,并切断其他所有直连路径。策略围绕“来源可信、认证强固、权限收敛、行为可溯”四点展开,不依赖改端口这类表面手段。
只允许堡垒机 IP 访问 SSH 端口
这是最基础也最关键的一步——从业务服务器的网络层直接过滤掉非堡垒机流量。
- 在 /etc/ssh/sshd_config 中使用 AllowUsers 限定来源,例如:
AllowUsers admin@10.10.5.200 ops@10.10.5.200
其中10.10.5.200是堡垒机在内网的固定 IP,admin和ops是专用于跳转的低权限账号 - 比
AllowUsers更底层的是防火墙控制(推荐双保险):
用firewalld仅放行堡垒机 IP 到 SSH 端口(如 22 或自定义端口):firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.10.5.200" port port="22" protocol="tcp" accept'firewall-cmd --reload - 务必禁用
ListenAddress 0.0.0.0,改为只监听内网网卡:ListenAddress 10.10.1.10(业务服务器内网 IP),避免意外暴露到公网或管理网段外
禁用密码登录,强制使用证书+跳转密钥对
堡垒机场景下,用户不直连业务服务器,因此不能依赖本地密码;所有登录必须通过堡垒机中转,且使用专用密钥对。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 在 /etc/ssh/sshd_config 中关闭密码和交互式认证:
PasswordAuthentication noChallengeResponseAuthentication noPubkeyAuthentication yes - 为每个运维角色生成独立的 ED25519 密钥对(不复用个人密钥):
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519-bastion-admin -C "bastion-admin-2026" - 将公钥部署到业务服务器对应账号的
~/.ssh/authorized_keys,并添加强制命令与来源限制:from="10.10.5.200",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-ed25519 AAAA... admin@bastion
启用会话审计与最小权限隔离
堡垒机的价值不仅在于接入控制,更在于操作留痕与权限分割。业务服务器需配合实现日志可查、动作可控。
- 开启详细 SSH 日志:
LogLevel VERBOSE
确保/var/log/auth.log记录用户名、源 IP、登录时间、密钥指纹等关键字段 - 为堡垒机登录用户分配独立 shell 限制环境,例如使用
rssh或scponly,或通过ForceCommand锁定为仅允许执行预设脚本:Match User adminForceCommand /usr/local/bin/bastion-shell - 禁用危险功能(写入配置文件末尾即可):
X11Forwarding noAllowTcpForwarding noPermitTunnel no
配套加固:禁 root + 会话超时 + 失败拦截
这些是堡垒机模式下的必要补充,防止因单点疏漏导致越权或资源耗尽。
-
PermitRootLogin no—— 所有提权必须经堡垒机审批流程,服务器上不留 root 远程入口 - 空闲超时设为严格值,避免跳转会话长期挂起:
ClientAliveInterval 180(3 分钟探测一次)ClientAliveCountMax 1(1 次无响应即断开) - 搭配
fail2ban监控暴力尝试(即使只对堡垒机开放,也要防其被攻陷后横向扫描):
监控/var/log/auth.log,对同一 IP 在 5 分钟内失败 2 次即封禁 24 小时

















