有 TeamViewer 的开源替代品吗?问题是让远程放置的设备启动连接,以便帮助台可以管理该设备。
我希望在我们部署的位于防火墙后面的设备上创建一个远程管理工具。
我了解 SSH 协议支持 X11 转发,但如果我要在防火墙后面部署 10 多个设备,我将如何连接到正确的设备来管理它?
答案1
好吧,只需编写一些脚本,您就可以将一些东西组合在一起。假设您有 OpenSSH(支持 Unix 套接字转发)和 netcat(支持 Unix 套接字)的兼容版本,您可以让所有客户端电话连接到可访问的服务器,并打开允许访问的反向套接字。
在服务器端,创建一个帐户以供客户端连接。让所有客户端连接到您的服务器
ssh -R sockets/${SOME_CLIENT_ID}:localhost:22 -l ${SOME_USERNAME} ${SOME_SERVER}
当需要连接进来的客户端时:
ssh \
-o StrictHostKeyChecking=no \
-o ProxyCommand="nc -U ~${SOME_USERNAME}/sockets/${SOME_CLIENT_ID}" \
-l root ${SOME_CLIENT_ID}"
如果您将这些连接设置为服务,systemd 可以轻松帮助您保持这些连接的活动状态。