![反向 SSH 连接](https://linux22.com/image/742182/%E5%8F%8D%E5%90%91%20SSH%20%E8%BF%9E%E6%8E%A5.png)
这个问题与反向隧道或端口转发无关,但答案可能就在那里。
情况:我有几个工作站,我想使用 SSH 进行控制。但是,由于设计原因,我希望它们是客户端而不是服务器。
在常规 SSH 设置中:客户端连接到服务器,客户端向服务器发出命令。
在这里,我想要的是相反的:客户端连接到服务器,客户端从服务器接收命令。
问题是:这有可能实现吗?还是说客户端请求和服务器响应是板上钉钉的事情?如果是,您能否展示一个图表或者可以用于实现该目标的技术名称?我正在考虑在连接中创建一个通道,但该通道从服务器到客户端(即客户端连接到服务器端口 22,在该连接中,服务器创建一个新通道并开始向客户端执行命令)
我愿意使用 libssh 或 libssh2 进行一些编程,但我不确定 SSH 协议是否允许这样做,因此我决定询问网络专家(而不是在编程社区询问)。
提前致谢!
答案1
来自客户:
ssh -R 7000:localhost:22 root@server
现在你有了一条反向隧道
从服务器:在客户端上运行命令
ssh root@localhost -p 7000 ls