代码之家  ›  专栏  ›  技术社区  ›  Mark Lakewood

防火墙后的设备通过ssh连接

  •  2
  • Mark Lakewood  · 技术社区  · 16 年前

    像这样的问题在这个地方出现过,但没有一个能真正回答我的问题 Connecting to device behind firewall

    我想要的是一个中央服务器,它从个人防火墙后面的多个(比如100个)嵌入式设备接收心跳信号。这些设备需要能够做两件事。

    1. 从服务器获取新配置。我 怀疑我可以通过 http get从设备到 重新加载自己的配置。
    2. 打开到服务器的ssh连接 允许管理员登录到 设备和do的命令行 维护和故障排除

    该设备是一个低功耗的嵌入式设备,将运行linux。最好用python解决方案(我想用paramiko实现ssh),但我对其他解决方案持开放态度。最主要的是在专用网络中没有技术用户,所以它应该能够插入消费级ADSL调制解调器,获得DHCP地址,所有这些都应该可以工作。我可以在设备上预装任何东西,例如无密码ssh的ssh证书等等。

    有人知道他的名字吗?

    干杯

    2 回复  |  直到 9 年前
        1
  •  2
  •   Tomasz Wysocki    16 年前

    您可以设置ssh隧道(从python脚本或控制台):

    ssh -NR10022:localhost:22 foo@mainserver.com
    

    然后您只需登录到主服务器,然后 ssh bar@localhost -p 10022

    您应该有ssh密钥,这样就不必输入密码(google上的“ssh without password”)。

        2
  •  0
  •   cmcginty    16 年前

    更复杂的方法可能是某种类型的 firewall hole punching

    不过,在第二种情况下,也许这是没有必要的,因为只涉及一个防火墙。诀窍是让你的嵌入式设备先启动一个出站连接。