使用 ssh 为 NAT 后面的用户提供远程支持?

使用 ssh 为 NAT 后面的用户提供远程支持?

我想通过 ssh 为一些 Linux 机器提供远程支持。这些机器上没有密码,而且它们位于 nat 后面,没有端口转发。

我的想法是,每当客户需要我的服务时,他/她就会在她的机器上输入命令,从而与我的服务器建立双向连接。使用这种双向连接,我希望完成他/她要求我完成的任务。

如果它对于客户端来说是透明的,就像共享屏幕会话一样,那么它将是一个理想的解决方案......

答案1

通过 SSH 端口转发进行操作。您的客户端需要输入

ssh -R 22:yourhost:10022 someuseronyourhost@yourhost

然后你需要(在yourhost

ssh -p 10022 aclientsusername@yourhost

但是您的客户将无法看到您所做的事情。

答案2

如果我没记错的话,Gnu Screen 让用户共享会话与其他用户共享。软件百科以及每日提示

为了让您仅在需要时登录,他们可以将 SSH 设置为仅基于密钥的身份验证(禁用基于密码的身份验证),并且每当您需要登录时,他们都可以将您的帐户的 RSA 授权密钥文件重命名为 sshd 所需的名称。之后,他们可以将授权密钥文件重命名为其他名称。这显然可以包装在脚本中以方便使用。

也可以看看https://stackoverflow.com/questions/471354/sharing-a-gnu-screen-session

答案3

你也可以看看反射器。它可以在您的服务器上启动,并且您和需要支持的人员可以连接到它,以便你们双方都可以看到相同的图形屏幕。

需要支持的人必须通过以下方式联系:

x11vnc -connect server:$PORT -shared

你必须通过以下方式从客户端连接

vncviewer server:$PORT

我认为您也可以将其与 SSH 隧道结合起来。

相关内容