新闻资讯
领先云端方案商,专注云桌面、云手机研发,凭核心虚拟化技术与云端算力,打造安全高效数字化平台,提供全周期支持。
分类
相关文章
热门标签

初学者向设置跳板机实操指南含常见配置陷阱解析

2026年7月16日

1.

准备与规划(重要的第一步)

- 确定用途:仅 SSH 跳转、还是同时做代理/端口转发/堡垒机录制。
- 网络架构:跳板机通常放在边界网络(DMZ)或单独子网,与目标内网用安全通道连接,记录允许访问的源 IP 列表。
- 选择系统:推荐使用 LTS 的 Linux 发行版(如:Ubuntu LTS / Debian Stable / CentOS Stream)。准备好公网固定 IP 或弹性 IP。

2.

创建与安装操作系统(以 Ubuntu 22.04 为例)

- 使用云平台镜像或 ISO 安装最小化系统;安装时只保留必要服务。
- 更新系统并安装常用工具:sudo apt update && sudo apt upgrade -y;sudo apt install -y vim fail2ban ufw auditd rsyslog

3.

创建非 root 管理账号并禁用 root 登录

- 添加管理员用户:sudo adduser jumpadmin && sudo usermod -aG sudo jumpadmin。
- 禁用 root SSH 登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,并在后面重启:sudo systemctl restart sshd。
- 常见命令示例:ssh-keygen -t ed25519 -C "your@key"(在本地生成),ssh-copy-id -i ~/.ssh/id_ed25519.pub jumpadmin@jump.ip

4.

SSH 密钥认证与权限要求(避免权限错误)

- 强制使用公钥认证:在 /etc/ssh/sshd_config 设置 PasswordAuthentication no,PubkeyAuthentication yes。重启 sshd。
- .ssh 权限:用户家目录下~/.ssh 权限应为700,authorized_keys 为600,否则 SSH 会拒绝:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys。
- 推荐使用 ed25519 或 RSA 4096;避免弱密钥。

5.

sshd_config 必备配置示例(关键项)

- 关键配置片段:
Port 22(或改端口,例如 2222)
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers jumpadmin yourops_user@example.com(或 AllowUsers jumpadmin@192.0.2.0/24)
X11Forwarding no
AllowTcpForwarding no(如果只需 ProxyJump,可设为 yes 并配合 ForceCommand 限制)
- 修改后:sudo systemctl restart sshd

6.

防火墙与网络限制(UFW/iptables 示例)

- 使用 UFW(Ubuntu):sudo ufw default deny incoming; sudo ufw default allow outgoing; sudo ufw allow from YOUR_IP to any port 22 proto tcp; sudo ufw enable。
- 若改端口:sudo ufw allow 2222/tcp 并确保规则先测试,不要把自己锁死。云平台控制台应保留紧急访问方式。

7.

多因素认证与跳板扩展

- 可选 PAM+Google Authenticator 或使用 SSH 证书(OpenSSH CA)与短期证书签发,增强安全。
- Ubuntu 安装 MFA 示例:sudo apt install libpam-google-authenticator,配置 /etc/pam.d/sshd 并在 sshd_config 中 ChallengeResponseAuthentication yes。

8.

审计与日志(便于事后追溯)

- 开启系统审计:sudo apt install auditd,配置 /etc/audit/audit.rules 起记录关键文件访问。
- 集中日志:将 ssh 登录日志 /var/log/auth.log 发送到集中日志系统(ELK/Graylog),并保留至少 90 天以上的登录审计。

9.

Fail2ban 与暴力破解防护

- 安装并启用:sudo apt install fail2ban,配置 /etc/fail2ban/jail.local,添加 sshd 监控并自定义 ban 时间与阈值。
- 小心规则:当使用动态 IP 的管理员时,避免误封导致无法访问,建议写白名单 IP 列表。

10.

备份、应急访问与密钥管理

- 准备备用访问:至少配置一个多重认证管理员账户与云提供商控制台紧急密钥。
- 定期轮换密钥并记录变更;使用私钥保护密码(ssh-keygen -o)并严格保管私钥。
- 若误锁:确保云控制台能打开临时串口或重置 sshd_config。

11.

常见配置陷阱与如何避免

- 陷阱1:开放密码认证(PasswordAuthentication yes)→ 危险,改为 no 并用密钥。
- 陷阱2:.ssh 权限不正确导致密钥无效→ 检查权限 700/600。
- 陷阱3:修改端口后忘记更新安全组/防火墙,导致被锁死→ 先添加规则再修改端口。
- 陷阱4:AllowTcpForwarding 全开导致内网横向移动风险→ 仅对必要用户放开或使用 ForceCommand 限制。

12.

运维操作范例:用 ProxyJump 连内网目标

- 本地 ssh 配置示例(~/.ssh/config):
Host bastion
HostName bastion.example.com
User jumpadmin
IdentityFile ~/.ssh/id_ed25519
Host target
HostName 10.0.0.10
User appuser
ProxyJump bastion
- 使用方式:ssh target(会自动通过跳板机代理连接)。

13.

安全加固建议(不止一层)

- 使用最小服务原则,只安装必需软件;及时打补丁并监控异常登录。
- 强制密钥登录、启用 MFA、设置登录审计和告警(异常 IP、登录频率)。
- 定期做红队/渗透测试验证跳板机策略是否存在绕过风险。

14.

问:我忘记了将新的公钥放到跳板机上且又被锁死,如何恢复访问?

答:如果是云主机,可通过云控制台的“串口/控制台访问”或“重置 SSH 密钥”功能进入实例;若无云控制台,需通过提供商的救援系统或挂载磁盘到救援主机,手动修改 /home/用户/.ssh/authorized_keys 或恢复 sshd_config。

15.

问:跳板机上是否应允许端口转发(AllowTcpForwarding)?

答:默认应设为 no,除非明确需要(例如使用 ProxyJump)。若必须允许,建议只对特定用户通过 Match User/Match Group 在 sshd_config 中放行,并配合严格日志与 ACL。

16.

问:如何在保持可用性的同时确保跳板机不成为单点故障?

答:部署至少两台跳板机并开启负载均衡或 DNS 轮询,关键是同步用户/公钥和配置(可用配置管理工具如 Ansible 管理),并把审计和密钥存储在集中系统,确保一台宕机时另一台可接管。


来源:初学者向设置跳板机实操指南含常见配置陷阱解析