У меня дома есть сервер Ubuntu, и я хочу получить доступ к нему от elswhere. У меня нет общедоступного IP-адреса на моем сервере Ubuntu, поэтому я не могу получить его из Интернета. У меня статический DNS и т. Д. Я слышал о hamachi, но я должен установить его на каждый компьютер, который я хочу подключить к своему серверу Ubuntu дома. Я хочу только доступ к терминалу.
Вы можете настроить правило обратного NAT в вашем маршрутизаторе / NAT / брандмауэре, чтобы любое подключение к вашему маршрутизатору извне через порт было преобразовано в адрес и порт другой машины в вашей локальной сети.
Таким образом, порт 22 на вашем маршрутизаторе может быть преобразован в порт 22 на вашем сервере. Тогда вам просто нужно зарегистрировать в своем DNS свой сервер с глобальным IPv4-адресом вашего роутера.
Или вы можете настроить IPv6, и тогда на всех ваших машинах могут быть глобальные адреса. Но машина, к которой вы затем подключаетесь, также должна быть в сети IPv6. Не забудьте настроить брандмауэр на своем IPv6-роутере и своих машинах. Что довольно легко сделать с UFW.
Необходимо настроить обратный SSH-туннель
ssh -nNT -R 1100:local.mydomain.com:22 user@remote.mydomain.com
Для этого необходимо перенаправить любые соединения через порт 1100 удаленного сервера на порт 22 локальной системы. Вы должны подготовить это соединение заранее, и оно не так надежно, как VPN.
Если вы хотите большей надежности (соединение ssh может быть разорвано), перейдите к openvpn.