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

从堡垒机连接私有EC2时权限被拒问题求助

解决堡垒机跳转私有EC2的SSH权限问题

问题根源

你用ssh -J成功是因为该命令默认会转发本地ssh-agent连接,堡垒机能直接调用Windows本地agent中的私钥访问私有EC2;但单独登录堡垒机再执行ssh时,默认未开启agent转发,堡垒机上无可用私钥,因此触发权限拒绝错误,附带的socket报错是由于agent转发通道未建立导致的。

具体解决方法

方法1:登录堡垒机时临时开启agent转发

登录堡垒机时添加-A参数,强制开启ssh-agent转发:

ssh -A ubuntu@ip-public

之后在堡垒机内执行ssh ubuntu@ip-private即可正常连接,此时堡垒机已能访问你Windows本地ssh-agent中的私钥。

方法2:修改堡垒机SSH配置实现永久生效

若不想每次登录都手动加参数,可修改堡垒机的sshd配置:

  1. 编辑配置文件:
sudo nano /etc/ssh/sshd_config
  1. 找到AllowAgentForwarding参数,确保设置为:
AllowAgentForwarding yes
  1. 重启sshd服务使配置生效:
sudo systemctl restart sshd

后续从Windows登录堡垒机时,默认会自动开启agent转发(前提是本地ssh-agent正常运行且私钥已添加)。

方法3:Windows本地配置SSH Config简化操作

在Windows的%USERPROFILE%\.ssh\config文件(无则新建)中添加以下配置:

Host bastion
    HostName ip-public
    User ubuntu
    ForwardAgent yes

Host private-ec2
    HostName ip-private
    User ubuntu
    ProxyJump bastion

之后直接执行ssh private-ec2即可一键连接私有EC2,或执行ssh bastion登录堡垒机时自动开启agent转发。

验证步骤

登录堡垒机后,可通过以下命令确认agent转发是否生效:

  • 执行echo $SSH_AUTH_SOCK,有路径输出说明转发通道已建立
  • 执行ssh-add -l,能看到Windows本地添加的私钥列表,说明堡垒机已能访问私钥

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:30:58