Это несколько разных взглядов на ситуацию. Я опустил здесь некоторые подробности, потому что ничто не мешает вам задать дополнительный Вопрос для уточнения деталей, если вы попробуете любой из этих маршрутов.
1. Замените сервер доступа OpenVPN
Если стоимость сервера доступа OpenVPN является непомерно высокой, рассмотрите возможность развертывания собственного сервера OpenVPN. Программное обеспечение можно использовать бесплатно; вам просто понадобится конечная точка сервера (VPS или эквивалент, если у вас ничего нет локально )и навык -, установленный для его настройки. Для этого доступно множество учебных пособий, поэтому вам не нужно начинать с нуля.
После того, как вы настроите эту настройку, вы можете использовать DNS или /etc/hosts
, чтобы определить имена хостов, такие как ваш OfficeDevice1991
, чтобы они указывали на соответствующий адрес конечной точки VPN на вашем сервере.
2. Используйте autossh
вместо OpenVPN
Если у вас есть собственная конечная точка, вы можете использовать что-то вроде autossh
в каждой из систем Pi для ssh
для «хорошо известной» конечной точки при загрузке (VPS или эквивалентной, если у вас ничего нет локально ).
Проложите обратный туннель(ssh -R
)через каждый из них, чтобы каждый Pi представлял другой номер порта вашего сервера, который сопоставляется с его собственным ssh
портом 22.
Разумное использование записей в ~/.ssh/config
может позволить вам запустить ssh OfficeDevice1991
и автоматически сопоставить его с чем-то вроде ssh -p 12345 localhost
, что, в свою очередь, будет соответствовать обычному ssh
соединению с Pi, представляющим OfficeDevice1991.
Отвечая на набор вопросов, которые вы добавили в своем редактировании,
who
или finger
даст вам время подключения каждого RPi.
autossh
делает и
for x... do... done
может автоматически сгенерировать файл. Я бы тоже не хотел создавать 1000 записей вручную.Отправьте отчет об ошибке сопровождающим dash
.
Похоже, что dash
возвращает пустой вывод, если jobs
выполняется в подоболочке.
Вам действительно нужно использовать dash
? Известно, что он не совместим с POSIX по нескольким причинам.