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

能否通过桌面端外部SSH经Session Manager连接实例?如何操作?

方案可行性结论

该访问方案完全可行。通过Session Manager配套的SSH插件,可实现无需登录AWS控制台、无需实例绑定公网IP、无需安全组开放22端口入站规则,直接用本地Putty等SSH客户端访问目标Linux实例,同时Session Manager原生支持全量操作日志留存,完全匹配你的安全提升、日志审计需求。

具体操作步骤

前置校验(你已满足可跳过)

  • 目标实例已安装3.0.502及以上版本的SSM Agent(Amazon Linux 2/2023默认预装,其他发行版可手动安装)
  • 实例已附加包含AmazonSSMManagedInstanceCore权限的IAM角色
  • 实例网络可访问SSM服务端点(有公网出口或配置VPC私有端点均可)
  • 你已经通过控制台Session Manager成功连接实例,说明以上配置均生效,可直接进入客户端配置环节

本地客户端配置(外部访问人员仅需完成一次)

1. 安装依赖工具

  • 本地桌面安装AWS CLI,为外部访问人员分配具备最小Session Manager访问权限的IAM用户,完成本地凭证配置
  • 安装Session Manager插件,对应Windows/macOS/Linux均有官方安装包,安装完成后无需额外配置
  • 权限配置建议:给外部营销人员的IAM权限仅开放指定实例的ssm:StartSession操作,避免越权访问其他资源

2. 配置SSH访问规则

适用OpenSSH客户端(Windows Terminal、macOS/Linux原生终端)

编辑本地SSH配置文件:

  • Windows路径:C:\Users\<你的用户名>\.ssh\config
  • macOS/Linux路径:~/.ssh/config

在文件末尾添加以下内容:

# SSH over Session Manager
host i-* mi-*
    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

适用Putty客户端

打开Putty配置界面按以下步骤设置:

  • 进入Connection > Proxy页,代理类型选择Local
  • 在Telnet command, or local proxy command输入框中填写:aws ssm start-session --target %host --document-name AWS-StartSSHSession --parameters portNumber=%port
  • 保存配置模板即可

连接实例

OpenSSH客户端

直接执行以下命令连接,无需填写实例公网IP:
ssh <实例内操作系统用户名>@<目标实例ID>
示例:ssh ec2-user@i-0abc123def456ghi7

Putty客户端

打开Putty,在Host Name (or IP address)输入框直接填写目标实例ID,端口保持默认22,点击Open即可正常连接。

日志审计配置

可直接在AWS Systems Manager控制台的Session Manager设置页,配置会话日志投递规则:

  • 支持投递到CloudWatch Logs,可实时检索用户所有操作命令
  • 支持投递到S3存储桶,可长期归档用于合规审计
    日志默认包含访问用户身份、操作时间、会话全量输入输出内容,可直接对接后续审计流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:36:03