AWS SSM 端口转发绑定到外部接口

AWS SSM 端口转发绑定到外部接口

我已设法使用“跳转服务器”中的以下内容使 SSM 端口转发运行到 AWS 实例。

aws ssm start-session --target $INSTANCE_ID \
                       --document-name AWS-StartPortForwardingSession \
                       --parameters '{"portNumber":["3389"],"localPortNumber":["33389"]}'

然而,这似乎仅绑定到本地主机,即我可以通过远程桌面连接到本地主机:33389。

我正在尝试进行设置,以便我从外部机器远程桌面到 :33389 上的“跳转服务器”,并将其转发到 AWS 实例。有什么方法可以做到这一点吗?

我似乎找不到有关 AWS-StartPortForwardingSession 文档的任何文档。

答案1

您现在可以使用名为 的新文档AWS-StartPortForwardingSessionToRemoteHosthttps://aws.amazon.com/about-aws/whats-new/2022/05/aws-systems-manager-support-port-forwarding-remote-hosts-using-session-manager/

答案2

不幸的是,AWS-StartPortForwardingSession仅允许访问目标实例,这非常有限。

您可以AWS-StartSSHSession与 一起使用ssh -L 3389:other-instance:3389

为了方便使用,请查看aws-ssm-工具及其ssm-ssh脚本,可使用例如安装pip3 install aws-ssm-tools

然后你可以这样做:

~ $ ssm-ssh [--profile / --region ..] --list
~ $ ssm-ssh ec2-user@{your-instance} -L 3389:other-instance:3389

ssm-ssh不需要知道实例 ID并且不必担心所有必要的ssh 参数,只需将其用作正常ssh

希望有帮助:)

相关内容