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

通过Remote SSH连接EC2时,VSCode AWS工具包无法通过AWS SSO认证

解决VSCode Remote-SSH连接EC2时AWS Toolkit/IAM Identity Center连接超时问题

问题背景

通过VSCode Remote-SSH连接AWS EC2实例后,安装AWS Toolkit和Amazon Q Developer Pro扩展,尝试连接IAM Identity Center时出现ECONNRESET超时错误,但本地VSCode使用相同扩展可正常连接,且EC2上通过aws sso login --sso-session <XXX> --no-browse手动认证可成功。核心原因是远程EC2无图形界面,扩展默认尝试在远程端启动浏览器完成SSO认证,导致连接失败。

解决方案

方法1:复用EC2上已有的AWS SSO会话(推荐)

既然你已经在EC2上配置并成功登录了SSO会话,可直接让VSCode扩展读取现有凭证:

  1. 确认EC2实例的~/.aws/config文件包含正确的SSO会话配置(示例如下):
[profile my-sso-profile]
sso_session = my-sso-session
sso_account_id = 你的AWS账号ID
sso_role_name = 你要使用的IAM角色名
region = eu-central-1

[sso-session my-sso-session]
sso_start_url = https://你的SSO启动URL.awsapps.com/start
sso_region = eu-central-1
sso_registration_scopes = sso:account:access
  1. 在远程VSCode中打开AWS Toolkit扩展,点击左侧AWS图标,在Profiles下拉菜单中选择已配置的SSO profile。扩展会自动读取已有的SSO会话凭证,无需再次触发浏览器认证。

方法2:通过X11转发让远程VSCode调用本地浏览器认证

如果需要在VSCode扩展中直接触发认证流程,可通过SSH的X11转发让远程调用本地浏览器:

  1. 本地安装X11服务:
    • Windows:安装VcXsrv并启动(启动时勾选"Disable access control")
    • Mac:安装XQuartz并启动(偏好设置中允许网络客户端)
    • Linux:系统自带X11服务,确保xauth工具已安装
  2. 修改VSCode的SSH配置文件(~/.ssh/config),给EC2主机条目添加X11转发配置:
Host my-ec2-instance
    HostName ec2-你的实例IP.eu-central-1.compute.amazonaws.com
    User ec2-user
    IdentityFile ~/.ssh/你的密钥文件.pem
    ForwardX11 yes
    ForwardX11Trusted yes
  1. 重新连接Remote-SSH到EC2,再次尝试连接IAM Identity Center,此时远程VSCode会调用本地浏览器打开认证页面,完成登录后即可正常连接。

方法3:手动复制本地SSO凭证到EC2

若上述方法无效,可直接将本地已认证的SSO凭证复制到EC2:

  1. 本地找到SSO凭证目录:~/.aws/sso/cache/,该目录下包含JSON格式的凭证文件
  2. 通过SCP或VSCode的文件管理器,将这些凭证文件复制到EC2实例的~/.aws/sso/cache/目录
  3. 重启远程VSCode的AWS Toolkit扩展,扩展会自动读取复制后的凭证

注意事项

  • 确保EC2实例的安全组和网络ACL允许出站访问oidc.eu-central-1.amazonaws.com(端口443)
  • 定期更新AWS CLI和VSCode扩展到最新版本,避免版本兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 09:40:14