![通过两台计算机之间的服务器反向(SSH)shell? - 用于远程协助](https://linux22.com/image/117082/%E9%80%9A%E8%BF%87%E4%B8%A4%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%8D%E5%90%91%EF%BC%88SSH%EF%BC%89shell%EF%BC%9F%20-%20%E7%94%A8%E4%BA%8E%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9.png)
我已经为某人安装了Linux(事实上,为很多人安装过Linux,但没关系)。她家里的电脑正在运行。我希望通过在她的 shell 中以 root 身份在键盘上输入一些命令来帮助她。我家里也有一台运行 Linux 的计算机,还有一个互联网服务器。我们都可以联系服务器,但没有开放端口可以从服务器连接到其中一台计算机(并且应该保持这种状态)。
怎么才能让她连接到服务器,我也连接上-ssh
我想都是 -这样我就可以在她的计算机上的 shell 中输入命令?
我可以ssh
在服务器上运行任何命令,因为我是根服务器。我也有她的根密码(我的公钥在她的里面/root/.ssh/authorized_keys
)。这是一项一次性远程协助工作,不需要永久连接。她可以通过邮件/电话进行交互,但她无法输入高效且有效的远程协助所需的复杂命令。
答案1
这必须分两步完成。首先,您需要通过 IP 访问她的系统。这可以通过她使用端口转发与您的服务器建立 SSH 连接来完成:
ssh -R localhost:2222:localhost:22 user@server
之后,您可以在服务器上连接到 localhost:2222 并访问其系统上的端口 22。
第二步是她这边必须运行一个SSH服务器,这样你才能登录。
您可以使用screen
或tmux
以便共享一个终端,她可以看到您所做的事情。