Служба SSH-коннектора

Служба SSH-коннектора

У меня есть несколько компьютеров Linux дома, в университете и мой телефон Android. Я хотел бы иметь возможность подключаться по SSH к любому из них в любое время, но они все скрыты за разными сетями и могут потерять соединение или изменить внешний IP-адрес в любое время.

В идеале у меня должно быть какое-то фоновое приложение, похожее на Dropbox, которое поддерживает соединение (переподключается) к какой-то внешней службе с известным адресом. Затем, когда я хочу подключиться по SSH с одного компьютера к другому, служба организует соединение. У меня есть Raspberry Pi с адресом DynDNS и перенаправленными портами, поэтому я могу запустить службу сам, если понадобится. Но важно, чтобы трафик не проходил через этот сервер, так как я не хочу, чтобы два моих компьютера в университете отправляли данные домой и обратно, когда они находятся рядом друг с другом.

Есть ли программное обеспечение, которое делает это?

В качестве альтернативы, есть ли бесплатный VPN-сервис, похожий на старый Hamachi, который работал бы на нескольких компьютерах Linux и Android? Тогда они все были бы в одной псевдолокальной сети и могли бы свободно общаться по ssh друг с другом. Насколько я могу судить, на данный момент таких бесплатных сервисов нет, что кажется странным, учитывая обилие бесплатных сервисов синхронизации файлов (Dropbox, Google Drive, Mega и т. д.).

решение1

НулевоеКажется, идеально подходит для вашего варианта использования:

Они называют это "Software Defined Networking". Это своего рода смесь VPN и сервисов вроде Hamachi. По сути, у вас есть возможность создавать сети (имеющие уникальные идентификаторы), к которым вы можете подключаться и авторизовать устройства. Это сеть P2P, но она может использовать суперузлы, если ваша сеть не допускает входящие соединения.

В настоящее время они поддерживают несколько ОС: Linux, FreeBSD, Android, Windows, OSX.

За исключением Android, вы также можете подключаться к нескольким сетям одновременно. Подключение к сети создает виртуальную сетевую карту в вашей ОС.

Вы также можете использовать zeroconf или что-то подобное, если хотите использовать DNS.

Он основан на UDP и отлично справляется с изменениями сети. Я много раз сталкивался с этим, переключая свой мобильный телефон с Wi-Fi на LTE и наоборот.

решение2

Вы можете рассмотреть возможность использования SSH-туннелирования.

Создайте несколько туннелей от вашего устройства RPi друг к другу, к которым вам нужен доступ, и вы можете подключиться к ним по SSH, используя локальные порты RPi.

Проблема в том, что если устройство перезагрузится, соединение будет разорвано.

Связанный контент