我如何才能通过 ssh 进行远程连接并将此连接重新用于其他应用程序而无需询问原始凭据?

我如何才能通过 ssh 进行远程连接并将此连接重新用于其他应用程序而无需询问原始凭据?

有一个远程 Ubuntu 容器,我可以使用一次性连接代码(用户名密码)通过 SSH 访问它。我使用的是 Windows,对容器本身没有太多权限。所以我试图在不更改容器上的任何设置的情况下执行此操作。我可以很好地创建到远程主机上端口 2222(具体来说)的 SSH 连接。

但是,我尝试使用的应用程序(在 Visual Studio 中进行远程调试,不太重要)显然与一次性密码不兼容。我们假设这是真的。

所以我的想法是使用一次性密码从我的计算机打开到主机的 SSH 连接,创建某种隧道,然后让应用程序重新使用该连接,而无需提供任何用户名或密码。

我尝试使用 Putty 将本地端口 (2345) 转发到远程端口 (2222),但之后我无法在没有任何凭证的情况下通过 SSH 连接到 localhost:2345(并最终像我希望的那样进入远程服务器)。

读了一些资料后,遗憾的是我对 SSH 隧道仍然不太了解。有没有办法完成我想要做的事情?

谢谢你的帮助。

答案1

我不知道这是否可以用 putty 实现,但是 OpenSSH 有 -M 命令行开关,它可以打开本地套接字进行连接多路复用,并允许所有后续连接仅使用该套接字进行连接,而无需任何额外的身份验证。

相关内容