устройство за брандмауэром подключиться через SSH - PullRequest
2 голосов
/ 05 августа 2010

Было несколько таких вопросов, но ни один из них не ответил конкретно на мой вопрос (например, Подключение к устройству через брандмауэр )

Мне нужен центральный сервер, который получает пульс от нескольких (скажем, 100-х) встроенных устройств за персональными брандмауэрами. Эти устройства должны уметь делать две вещи.

  1. Получить новый конфиг с сервера. я подозреваю, что я могу просто сделать это через http получить от устройства до сервер и вытащить некоторые XML, затем перезагрузите свой собственный конфиг.
  2. Открыть SSH-соединение с сервером. разрешить администратору войти в командной строки устройства и сделать техническое обслуживание и устранение неисправностей remotely.ie device => server <= admin и admin могут получить командную строку bash или эквивалентную. </li>

устройство является встроенным устройством с низким энергопотреблением, которое будет работать под управлением Linux. Решение на python было бы предпочтительнее (я думаю что-то с paramiko для ssh), но я открыт для других решений. Главное, чтобы в частной сети не было технических пользователей, поэтому он должен иметь возможность подключиться к ADSL-модему потребительского уровня, получить адрес DHCP, и все это должно работать. Я могу предварительно загрузить в устройство все, что угодно, например, сертификаты ssh для ssh без пароля и т. Д.

У кого-нибудь есть идеи?

Приветствия

Mark

Ответы [ 2 ]

2 голосов
/ 05 августа 2010

Вы можете настроить туннель ssh (из скрипта python или из консоли):

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

Затем вы можете просто войти на главный сервер и затем ssh bar@localhost -p 10022

У вас должны быть ключи ssh, так что вам не нужно вводить пароль (Google "ssh без пароля").

0 голосов
/ 06 августа 2010

Более сложным методом может быть какой-то тип пробивки дырок в брандмауэре .

На секунду, хотя, возможно, в этом нет необходимости, поскольку задействован только один брандмауэр.Хитрость заключается в том, чтобы ваше встроенное устройство сначала инициировало исходящее соединение.

...