防火墙后设备如何通过SSH连接
这里有一些类似的问题,但没有一个能具体回答我的疑问。(比如连接到防火墙后面的设备)
我想要的是一个中央服务器,它能接收来自多个(比如说几百个)在个人防火墙后面的嵌入式设备的心跳信号。这些设备需要能够做两件事。
- 从服务器获取新的配置。我猜我可以通过设备向服务器发起一个http请求,拉取一些XML文件,然后重新加载它自己的配置。
- 打开一个ssh连接到服务器,以便管理员可以登录到设备的命令行,进行远程维护和故障排除。也就是说,设备 => 服务器 <= 管理员,管理员可以访问bash命令行或类似的界面。
这个设备是一个低功耗的嵌入式设备,将运行Linux。用Python来实现会更好(我在想用paramiko来处理ssh),但我也愿意考虑其他方案。最重要的是,私有网络中不会有技术用户,所以它应该能够插入一个普通的ADSL调制解调器,获取一个DHCP地址,所有这些都应该正常工作。我可以提前在设备上预装任何东西,比如无密码ssh的ssh证书等等。
有没有人有什么想法?
谢谢
马克
2 个回答
0
一种更复杂的方法可能是某种类型的防火墙打孔。
不过仔细想想,这也许不是必须的,因为这里只有一个防火墙。关键是让你的嵌入式设备先发起一个外部连接。
2
你可以通过 Python 脚本或者命令行来设置 SSH 隧道:
ssh -NR10022:localhost:22 foo@mainserver.com
然后你可以直接登录到主服务器,然后输入 ssh bar@localhost -p 10022
来连接。
你需要有 SSH 密钥,这样就不用每次都输入密码了(可以在网上搜索“无密码 SSH”来了解更多)。