У меня есть ноутбук, сервер (статический IP) и ПК (динамический IP). ПК подключен к серверу через сервис openvpn. Я хочу использовать это для SSH с моего ноутбука на этот компьютер через сервер. Я предполагаю, что это самый простой способ SSH к этому компьютеру, если он использует динамический IP-адрес. Является ли это возможным? Если да, то как это можно сделать?
2 ответа
Поскольку ПК имеет динамический адрес, ему необходимо назначить имя хоста.
- Если динамический IP-адрес является внутренним для вашей сети, и вы управляете сервером DHCP/DNS, таким как Dnsmasq, вы можете назначить ему имя хоста.
- Если динамический IP-адрес назначен Интернет-провайдером, используйте службу DDNS, например DynDNS, чтобы назначить компьютеру имя хоста.
Как только ваш компьютер имеет правильное имя хоста, вы можете настроить свой сервер как SSH Jumphost:
- Установите открытый SSH-ключ вашего ноутбука на сервере и ПК.
В
~/.ssh/config
вашего ноутбука добавьте следующееHost <PC_hostname> ProxyJump <server_hostname>
Есть 2 альтернативы, которые не используют DDNS.
Заставьте ПК сбросить свой IP на сервере:
- ПК сбрасывает свой IP в
user@server:~/pc-ip-addr.txt
в 1 минуту. - В ноутбуке прочитайте файл и SSH по IP-адресу ПК.
Заставьте ПК поддерживать постоянное SSH-соединение с сервером:
- В ПК
ssh user@server -R 2222:localhost:2222
- В ноутбуке
ssh user@server "ssh user@localhost -p2222"
Когда вы устанавливаете соединение OpenVPN, оно создает дополнительный IP-адрес на каждом устройстве. Самым простым способом было бы установить адрес OpenVPN ПК и подключиться к нему по этому IP-адресу после установки OpenVPN.
Также может быть возможно дать указание OpenVPN объявлять о внутренних маршрутах локальной сети через VPN и подключаться к компьютерам. Внутренний IP-адрес - сложность, с которой вы здесь столкнетесь, заключается в том, чтобы определить, какой IP-адрес у компьютеров. услуги здесь, потому что они будут получать внешний IP-адрес, а не внутренний IP-адрес компьютера. Вы всегда можете статически назначить адрес компьютеру - либо напрямую, либо инструктируя маршрутизатор динамически назначать статический IP-адрес компьютеру на основе его MAC-адреса.