2014-10-07 98 views
-2

我想知道,有什么方法可以做类似反向SSH的事情吗?我已经阅读过有关这样的事情,但我不确定那是否是我想要的。SSH反向连接

我想要的是我的“服务器”和我的“客户端”之间的连接,客户端登录到服务器并使用服务器来控制客户端。我使用Python编写了一个小脚本,使用套接字编程来完成基本的事情,但由于我的编程技巧,我无法完成诸如SSH可为您提供的高级内容。

所以情况是:我想能够从服务器控制客户端。我确保客户端连接到服务器,并使用服务器来控制客户端。所以连接是相反的,其余的都是正常的。这可能吗?这是有史以来还是它是一个愚蠢的重复?

谢谢

回答

1

对不起,这确实是在互联网上描述的。

所以,你必须做的: 就我而言,我的“客户”上:
ssh -f -N -R 7000:localhost:22 [username]@[server-ip]

哪里ofcourse ssh是你的程序
-f意味着你在后台
-N运行的请求意味着你不想执行命令,而是转发端口。
-R表示您想要使用上面问题中所述的反向SSH。此外,7000:localhost:22可以使任何到端口7000的连接重定向到localhost:22,其中localhost是客户端,22是客户端的端口。
最后但并非最不重要,您需要用服务器的用户名替换[username],用服务器的IP地址替换[server-ip]

接下来,在服务器上运行:
ssh [username]@localhost -p 7000
在您需要与客户端的用户名来替换[username]。这是客户端的用户名,因为虽然看起来您正在登录到您的localhost,但您的localhost只是将端口号为7000的连接转发给客户端。
因此,-p 7000指定了连接到的端口,这与我们在上一个命令中指定的端口相同。