1

我需要在本地设置一个通过 SSH 连接到 EC2 实例的工具,以在远程机器上执行分析。问题如下:EC2 需要使用 PEM 证书进行连接,但该工具不支持证书。有没有办法进行一些端口转发,以便该工具可以在没有密码(或至少没有证书)的情况下连接到类似 localhost:2222 的东西,然后流量被重定向到 EC2?

我不确切知道该工具使用了哪些端口,但可以肯定它可以通过 SSH 传输所有流量。

如果您需要更多信息,该工具是 Nvidia Nsight Compute。

我试过 sh -L 2222:localhost:22 -i mycertificate.pem <username_ec2>@<ip_ec2> 但后来ssh <username_ec2>@localhost:2222返回ssh: Could not resolve hostname localhost:2222: nodename nor servname provided, or not known

4

2 回答 2

1

将您的命令修复为:

ssh -p 2222 <username_ec2>@localhost

但是如果您像这样进行端口转发,仍然需要证书:

ssh -L 2222:localhost:22 -i mycertificate.pem <username_ec2>@<ip_ec2>

我会尝试以下方法:

运行另一个 ssh 服务器,它只在 localhost 上侦听,并且不需要另一个端口上的证书,例如 2222。请参阅说明

然后我会像这样移植到它:

ssh -L 2222:localhost:2222 -i mycertificate.pem <username_ec2>@<ip_ec2>

并以同样的方式 ssh 到它:

ssh -p 2222 <username_ec2>@localhost
于 2021-02-02T08:19:55.937 回答
0

您可以使用 TCP 反向代理来执行此操作。反向代理对其他高级协议也很有用,也可以由多个服务器/服务共享和使用。我个人使用了一个,因为它帮助我巩固了我的 DMZ。我过去曾使用 HAProxy 和 NGINX 来处理这类事情。由于您在这里没有使用 HTTP,因此您需要确保代理在 TCP 模式下运行,以用于此连接的特定前端和后端。代理可以转发流量并应用或剥离您认为合适的证书。

于 2021-02-08T21:29:56.080 回答