![Открыть браузер сервера в локальном браузере](https://rvso.com/image/898941/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%20%D0%B2%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%20%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B5.png)
Когда я подключаюсь к своему серверу по ssh и делаю там свои дела. Как я могу, например, открыть браузер на удаленной машине и отобразить его на своей локальной машине,
Я запускаю Ubuntu Desktop на локальной машине. На стороне сервера я использую Ubuntu 16.04 Server. Это сервер разработки, поэтому у меня там есть скрипт python, который использует:
webbrowser.open("https://" + url)
чтобы открыть браузер по умолчанию с нужным мне URL.
Другими словами, как я могу, войдя на сервер, открыть ссылку на своей локальной машине?
Говоря более общими словами, как я могу использовать свой удаленный сервер Ubuntu так, как будто это мой локальный компьютер?
С:
- Серверной машине НЕ НУЖЕН графический интерфейс.
- Я не хочу устанавливать серверный графический интерфейс и использовать УДАЛЕННЫЙ РАБОЧИЙ СТОЛ.
Как мне получить доступ к собственному серверу разработки и открыть простую программу на моем локальном компьютере?
решение1
Самый простой способ сделать это — использовать прокси-сервер SSH socks. Из man-страницы:
-D [адрес_привязки:]порт
Указывает локальную «динамическую» переадресацию портов на уровне приложения. Это работает путем выделения сокета для прослушивания порта на локальной стороне, опционально привязанного к указанному bind_address. Всякий раз, когда устанавливается соединение с этим портом, соединение перенаправляется по защищенному каналу, а затем протокол приложения используется для определения того, куда подключаться с удаленной машины.
Браузеры также могут использовать socks proxy. Как настроить его, зависит от того, какой браузер вы используете, но я обычно использую один браузер для работы через socks, а другой — для работы без прокси.
Сначала запустите ssh с помощью следующей команды:
ssh -D1080 [email protected]
Это запустит ssh, создав прокси-сервер socks для удаленного хоста, прослушивающего порт 1080. В браузере введите прокси-сервер socks на локальном хосте, порт 1080. В Firefox это находится в разделе «Настройки» - «Дополнительно» - «Сеть»:
Это позволит перенаправить трафик из браузера на удаленную машину, и будет казаться, что источником трафика является удаленная машина.
решение2
Сначала в sshd_config вашего сервера включите переадресацию X11 следующим образом:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Затем подключитесь по ssh к вашему серверу:
$ ssh user@server -C -X
Затем запустите Firefox.
$ firefox