VNC vino через SSH туннель ТОЛЬКО
Я искал несколько часов, не могу понять это.
Я пытаюсь сделать следующее:
Клиент: remmina + ssh tunnel
Сервер: Lubuntu + сервер openssh (аутентификация с открытым ключом) + сервер vino только через туннель ssh + разрешить клиенту открывать только 1 порт (порт vnc)
Пока что я могу подключиться к своему серверу, очевидно, обоими способами (с ssh-туннелем и без него), что недопустимо.
Запуск графического интерфейса с настройками vino мне особо не помогает:s
Так что мой вопрос в основном таков:
- "Как заблокировать любое открытие порта на сервере и только один порт SSH (22) и разрешить клиенту туннелировать VNC через SSH через определенный порт (если это имеет смысл)?"
- Никакой другой тип соединения VNC не должен быть разрешен
PS Я планирую перенаправить порт 22 маршрутизатора на мой сервер и разрешить только SSH-соединения.
1 ответ
AFAIK vino-preferences
GUI не включает его, но я считаю, что параметр, который вы ищете, это network-interface
gsettings get org.gnome.Vino network-interface
Если не установлено (то есть приведенная выше команда возвращает пустую строку, ''
) тогда vino-сервер прослушивает все доступные интерфейсы, тогда как если установлено lo
gsettings set org.gnome.Vino network-interface 'lo'
тогда он будет слушать только на lo
(localhost
) интерфейс.
Вы также можете использовать графический интерфейс dconf-editor
где параметр указан под org -> gnome -> desktop -> remote-access
вещь.
Вы можете подтвердить, что сервер прослушивает нужный интерфейс, используя netstat
например, по умолчанию
$ sudo netstat -nlp | grep ':5900'
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 10927/vino-server
tcp6 0 0 :::5900 :::* LISTEN 10927/vino-server
(прослушивание на всех доступных интерфейсах); затем после
$ gsettings set org.gnome.Vino network-interface 'lo'
Вы должны увидеть, что он прослушивает только интерфейс (ы) localhost:
$ sudo netstat -nlp | grep ':5900'
tcp 0 0 127.0.0.1:5900 0.0.0.0:* LISTEN 10927/vino-server
tcp6 0 0 ::1:5900 :::* LISTEN 10927/vino-server
В качестве альтернативы (или дополнительно) вы можете использовать iptables
или же ufw
закрыть порт - по умолчанию это порт 5900 + номер дисплея.