有一个远程 Ubuntu 容器,我可以使用一次性连接代码(用户名密码)通过 SSH 访问它。我使用的是 Windows,对容器本身没有太多权限。所以我试图在不更改容器上的任何设置的情况下执行此操作。我可以很好地创建到远程主机上端口 2222(具体来说)的 SSH 连接。
但是,我尝试使用的应用程序(在 Visual Studio 中进行远程调试,不太重要)显然与一次性密码不兼容。我们假设这是真的。
所以我的想法是使用一次性密码从我的计算机打开到主机的 SSH 连接,创建某种隧道,然后让应用程序重新使用该连接,而无需提供任何用户名或密码。
我尝试使用 Putty 将本地端口 (2345) 转发到远程端口 (2222),但之后我无法在没有任何凭证的情况下通过 SSH 连接到 localhost:2345(并最终像我希望的那样进入远程服务器)。
读了一些资料后,遗憾的是我对 SSH 隧道仍然不太了解。有没有办法完成我想要做的事情?
谢谢你的帮助。
答案1
我不知道这是否可以用 putty 实现,但是 OpenSSH 有 -M 命令行开关,它可以打开本地套接字进行连接多路复用,并允许所有后续连接仅使用该套接字进行连接,而无需任何额外的身份验证。