我已设法使用“跳转服务器”中的以下内容使 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-StartPortForwardingSessionToRemoteHost
。 https://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
。
希望有帮助:)