You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过堡垒主机配置SSH代理,实现DeployHQ访问AWS私有VPC机器

解决方案:通过堡垒主机实现DeployHQ到AWS私有VPC机器的自动部署

方案一:堡垒主机端口转发(基于iptables)

这种方式通过堡垒主机的端口映射,把外部请求转发到私有VPC内的目标机器,适合需要固定端口对应机器的场景。

1. 堡垒主机基础配置

  • 确保堡垒主机有公网IP,安全组仅允许DeployHQ的IP段访问TCP端口18022-18025,同时允许堡垒主机访问私有VPC内所有目标机器的22端口。
  • 开启IP转发(让堡垒主机具备路由能力):
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p
    

2. 配置端口转发规则

在堡垒主机上执行iptables命令,为每个目标机器映射端口:

# 转发18022到10.10.0.2:22
iptables -t nat -A PREROUTING -p tcp --dport 18022 -j DNAT --to-destination 10.10.0.2:22
iptables -A FORWARD -p tcp -d 10.10.0.2 --dport 22 -j ACCEPT

# 转发18023到机器B(假设私有IP为10.10.0.3):22
iptables -t nat -A PREROUTING -p tcp --dport 18023 -j DNAT --to-destination 10.10.0.3:22
iptables -A FORWARD -p tcp -d 10.10.0.3 --dport 22 -j ACCEPT

# 同理添加18024、18025对应机器C、D的规则
  • 保存规则避免重启失效:Ubuntu用netfilter-persistent save,CentOS用iptables-save > /etc/sysconfig/iptables

3. 目标机器配置

将DeployHQ提供的公钥,添加到目标机器对应SSH用户的~/.ssh/authorized_keys文件中,同时确保权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4. DeployHQ项目配置

每个目标机器对应一个DeployHQ部署项目:

  • Hostname:堡垒主机的公网IP或域名
  • Port:对应转发端口(如18022对应10.10.0.2)
  • Username:目标机器的SSH用户名
  • 确认DeployHQ已配置对应私钥(平台会自动用匹配的公钥完成验证)

方案二:SSH代理跳转(更安全,无需暴露多端口)

这种方式让DeployHQ通过堡垒主机做SSH跳转,直接连接私有VPC内的机器,无需在堡垒主机上开多个转发端口,安全性更高。

1. 堡垒主机配置

  • 安全组仅允许DeployHQ的IP段访问TCP端口22
  • 将DeployHQ的公钥添加到堡垒主机对应SSH用户的~/.ssh/authorized_keys文件中
  • 开启SSH代理转发:编辑/etc/ssh/sshd_config,设置AllowAgentForwarding yes,然后重启服务:
    systemctl restart sshd
    

2. 目标机器配置

将DeployHQ的公钥添加到目标机器对应SSH用户的~/.ssh/authorized_keys文件中,权限要求同方案一。

3. DeployHQ项目配置

每个目标机器对应一个DeployHQ部署项目:

  • Hostname:目标机器的私有IP(如10.10.0.2)
  • Port:22
  • Username:目标机器的SSH用户名
  • 在SSH高级设置中添加代理命令:
    ssh -W %h:%p 堡垒主机用户名@堡垒主机公网IP -p 22
    
  • 开启DeployHQ的SSH Agent Forwarding选项(部分平台需手动勾选)

测试与注意事项

  • 先在本地测试连接:方案一用ssh -p 18022 目标用户@堡垒主机IP,方案二用ssh -o ProxyCommand="ssh -W %h:%p 堡垒用户@堡垒主机IP" 目标用户@目标机器私有IP,确保能正常登录目标机器。
  • 安全层面:严格限制堡垒主机对外开放的端口仅允许DeployHQ的IP访问,避免无关请求。
  • 密钥权限:所有.ssh目录必须是700权限,authorized_keys必须是600权限,否则SSH会拒绝身份验证。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:45:55