Как туннелировать VNC через SSH

Если вы подключаетесь к удаленному рабочему столу с помощью протокола виртуальных сетевых вычислений(Virtual Network Computing) ( VNC ), ваше подключение может быть небезопасным. Некоторые клиенты VNC , такие как популярный (VNC)TightVNC , не шифруют ваше соединение после начального этапа входа в систему. Чтобы обойти эту проблему, вы можете туннелировать соединение VNC через туннель Secure Shell ( SSH ).

Туннель SSH не только обеспечивает полностью безопасное соединение для VNC , но также позволяет использовать соединения VNC , когда типичный порт VNC (порт 5901) заблокирован. Некоторые корпоративные сети блокируют общие порты, такие как порт 5901, для дополнительной безопасности, поэтому туннелирование VNC через SSH позволит вам обойти эту проблему. 

Настройка PuTTY(Setting Up PuTTY)

Windows 10 имеет встроенный SSH -клиент благодаря Windows PowerShell , но это лишь недавняя разработка. Если вы хотите узнать, как туннелировать VNC через SSH , рекомендуется использовать PuTTY для подключения к вашему SSH - серверу.

PuTTY предлагает графический пользовательский интерфейс, который можно легко настроить, чтобы позволить вам туннелировать другое программное обеспечение, такое как программа просмотра VNC , через соединение. Чтобы это работало, вам необходимо установить подходящий SSH -сервер на удаленный рабочий стол ПК или сервер, к которому вы хотите подключиться через VNC .

  • Для начала скачайте PuTTY и откройте клиент. 
  • Главное меню сеанса(Session ) позволяет вам ввести IP-адрес вашего сервера или имя хоста. Введите адрес своего SSH -сервера в текстовом поле Имя хоста (или IP-адрес) . (Host Name (or IP address))Если ваш порт SSH отличается от стандартного порта 22, введите его в поле Порт(Port)
  • Вы также захотите сохранить этот сеанс, поэтому в текстовом поле « Сохраненные сеансы(Saved Sessions) » добавьте подходящее имя для вашего SSH -соединения, затем нажмите кнопку « Сохранить(Save) » .

  • В левом меню разверните вкладку Connection , затем сделайте то же самое для (Connection)SSH . Нажмите «Туннели(Tunnels) » .

  • В разделе « Переадресация портов » меню « (Port forwarding)Туннели(Tunnels) » вы предоставите подробную информацию, позволяющую PuTTY туннелировать ваше соединение VNC через SSH . В текстовом поле Исходный порт(Source port) введите 5901. В текстовом поле Назначение(Destination) введите свой удаленный IP-адрес: 5901(remote IP address:5901) , используя IP-адрес удаленного настольного ПК или сервера . Например, подойдет 192.168.1.100:5901.

  • Вернитесь в раздел « Сеанс(Session) », щелкните имя сохраненного сеанса в разделе «Сохраненные сеансы(Saved Sessions) », затем нажмите « Сохранить(Save) » , чтобы сохранить настройки.

  • Подготовив настройки PuTTY , установите соединение SSH , нажав « Открыть(Open) » внизу. Вам потребуется ввести имя пользователя и пароль, необходимые для подключения SSH , когда (SSH)PuTTY попытается это сделать.

  • После завершения процесса входа в систему вам будет предоставлен доступ к окну терминала SSH для вашего удаленного рабочего стола.

Теперь, когда туннель SSH к вашему серверу удаленного рабочего стола активен, вы сможете установить соединение VNC . Вы можете использовать любой клиент VNC , который вы выберете, но в этом руководстве будет рассказано, как подключиться с помощью TightVNC , популярного и бесплатного клиента VNC для (VNC)Windows и Linux .

Вы можете свернуть PuTTY , пока соединение активно.

Подключение с помощью TightVNC(Connecting Using TightVNC)

Если ваше SSH- соединение активно, подключиться с помощью TightVNC довольно просто. Это предполагает, что ваш VNC- сервер работает на удаленном ПК или сервере.

  • Откройте TightVNC, чтобы начать. В разделе « Подключение(Connection) » введите localhost::5901 или 127.0.0.1::5901 в текстовое поле « Удаленный хост ». (Remote Host)PuTTY отслеживает этот порт и автоматически переадресует это соединение, когда попытка будет сделана, на ваш удаленный сервер. 
  • Вы можете настроить подключение VNC дальше, нажав « Параметры(Options) » , но если вы готовы к подключению, нажмите « Подключиться(Connect) » . 

  • Вам будет предложено ввести пароль к серверу VNC , поэтому укажите его во всплывающем окне « Аутентификация VNC », затем нажмите « (VNC Authentication)ОК(OK) » .

Если ваше SSH- соединение работает правильно, TightVNC должен загрузить окно удаленного рабочего стола VNC , готовое к использованию. 

SSH-клиенты с поддержкой туннелирования(SSH Clients With Tunneling Support)

Хотя TightVNC является популярным клиентом Windows для соединений (Windows)VNC , он не поддерживает туннелирование SSH внутри самого клиента, поэтому для установления соединения требуется использовать PuTTY .

Однако другие клиенты VNC включают туннелирование (VNC)SSH внутри самого клиента. Одним из примеров является SSVNC , который, хотя и базовый, будет туннелировать через SSH , прежде чем устанавливать соединение VNC . SSVNC поддерживается операционными системами Windows и Linux .

  • Откройте клиент SSVNC и в главном окне клиента SSVNC заполните необходимые поля. В разделе VNC Host:Display введите SSHusername@remoteIPaddress:1. Замените SSHusername на имя пользователя, которое вы будете использовать для SSH -подключения, и замените remoteIPaddress на IP-адрес вашего удаленного рабочего стола. Например, [email protected]:1.
  • Перед подключением убедитесь, что вы выбрали вариант « Использовать SSH(Use SSH) или SSL+SSL Когда будете готовы, нажмите кнопку Подключиться(Connect) .

  • Вас попросят ввести пароль SSH во всплывающем окне терминала. Введите свой пароль, затем нажмите Enter на клавиатуре.

Как только туннель SSH станет активным, ваше соединение VNC начнется, и должно появиться окно вашего клиента  VNC , где вы можете начать использовать свой удаленный рабочий стол.(VNC)

Хотя соединения VNC по умолчанию не шифруются, собственный протокол удаленного рабочего стола Microsoft(is) зашифрован. Если вы работаете в Windows и планируете подключиться к удаленному ПК или серверу с Windows , вместо этого вы можете подключиться с помощью средства подключения к удаленному рабочему столу .(Remote Desktop Connection)



About the author

Я веб-разработчик с опытом работы в Firefox и Google Docs. У меня есть степень в области делового администрирования Университета Флориды. Мои навыки включают в себя: разработку веб-сайтов, систему управления контентом (CMS), анализ данных и дизайн пользовательского интерфейса. Я опытный консультант, который может помочь вашей команде создавать эффективные веб-сайты и приложения.



Related posts