Постановка задачи:Как подключиться к моему Digital Ocean Cloud VPS через SSH через защищенную сеть, например VPN/туннелирование?
Подробный контекст:
1.Мой сервер:CentOS 7 Droplet с публичным IP на eth0 и частным IP на eth1
2.SSH-клиенты (через SSH-ключи):MobaXterm на Windows 7 или VirtualBox CentOS 7 VM
Ситуация? Публичный WAN IP-адрес моего домашнего компьютера меняется каждый раз, когда я перезапускаю маршрутизатор или в соответствии с его политикой DHCP (что наступит первым)
Как настроить механизм, при котором я подключаюсь к IP-адресу или полному доменному имени, которые постоянно находятся в белом списке брандмауэра моего VPS (что-то похожее на группы безопасности AWS) перед последующим запуском сеанса SSH без настройки второго Linux VPS только для целей VPN? Следующий поток должен прояснить ситуацию:
SSH Clients from my PC(_Random Src IPs_) --> VPN / Tunnel (_1+ IPs white-listed in VPS Firewall_) -->[SSH] --> VPS
Варианты НЕВОЗМОЖНЫ
- VPN-сервер на том же VPS (становится единой точкой отказа)
- Вторая настройка Linux VPS, напримерJumpbox | Хост Bastionтак как первый VPS не является сервером производственного уровня, а обслуживание двух VPS для меня экономически нецелесообразно.
Возможные варианты
- Надежный VPN-сервис, бесплатный для личного использования.
- SSH-туннелирование или любая другая альтернатива.
Пожалуйста, дайте мне знать, если понадобится дополнительный контекст, и подскажите, как лучше всего этого добиться.
решение1
Вы могли бытуннелируйте ваше SSH-соединение через Tor.
Для этого настройте SSH-сервер на прослушивание только локального хоста и добавьте в него что-то вроде этого /etc/tor/torrc
:
HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceVersion 3 # If you're using tor 0.3.2 or above.
Затем перезапустите Tor. Ваше onion-имя хоста будет сгенерировано и его можно будет найти в /var/lib/tor/ssh_hidden_service/hostname
.
Настройте свой SSH-клиент для использования Torпоместив что-то вроде этого в ~/.ssh/config
:
Host mydomain
HostName mydomain.com
CheckHostIP no
ProxyCommand connect-proxy -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p
Вам нужно будет установить пакет connect-proxy. Или вы можете использоватьnetcat как ProxyCommand.