Ssh and vnc windows

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

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

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

Настройка PuTTY

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

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

  • Для начала загрузите PuTTY и откройте клиент.
  • Главное меню сеанса позволяет вам ввести IP-адрес вашего сервера или имя хоста. Введите адрес вашего SSH-сервера в текстовом поле Имя хоста (или IP-адрес). Если ваш SSH-порт отличается от стандартного порта 22, введите его в поле «Порт».
  • Вы также захотите сохранить этот сеанс, поэтому в текстовом поле «Сохраненные сеансы» добавьте подходящее имя для вашего SSH-соединения и нажмите кнопку «Сохранить».
  • В левом меню разверните вкладку «Соединение», затем сделайте то же самое для SSH. Нажмите на Туннели.
  • В разделе «Переадресация портов» меню «Туннели» вы предоставите сведения, которые позволят PuTTY туннелировать ваше соединение VNC через SSH. В текстовом поле «Порт источника» введите 5901. В текстовом поле «Адресат» введите свой удаленный IP-адрес: 5901, используя IP-адрес удаленного настольного ПК или сервера. Например, 192.168.1.100:5901 подойдет.
  • Вернитесь в раздел «Сеанс», щелкните имя сохраненного сеанса в разделе «Сохраненные сеансы», затем нажмите «Сохранить», чтобы сохранить настройки.
  • Когда настройки PuTTY будут готовы, установите соединение SSH, нажав кнопку «Открыть» внизу. Вам потребуется ввести имя пользователя и пароль, необходимые для подключения SSH, когда PuTTY попытается это сделать.
  • После завершения входа в систему вам будет предоставлен доступ к окну SSH-терминала для удаленного рабочего стола.

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

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

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

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

  • Откройте TightVNC, чтобы начать. В разделе «Подключение» введите localhost :: 5901 или 127.0.0.1::5901 в текстовое поле «Удаленный хост». PuTTY контролирует этот порт и автоматически отправит это соединение, когда попытка будет предпринята, на ваш удаленный сервер.
  • Вы можете настроить свое подключение VNC дальше, нажав «Опции», но, если вы готовы к подключению, нажмите «Подключиться».
  • Вам будет предложено ввести пароль вашего сервера VNC, поэтому укажите его во всплывающем окне «Аутентификация VNC» и нажмите кнопку «ОК».
Читайте также:  Автомонтирование сетевого диска linux

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

Клиенты SSH с поддержкой туннелирования

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

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

  • Откройте клиент SSVNC и в главном окне клиента SSVNC заполните необходимые поля. В разделе VNC Host: Display введите SSHusername@remoteIPaddress:1. Замените SSHusername на имя пользователя, которое вы будете использовать для вашего SSH-соединения, и замените адрес удаленного IP-адреса на IP-адрес удаленного рабочего стола. Например, root@192.168.1.100:1.
  • Убедитесь, что вы выбрали опцию Использовать SSH или SSL + SSL перед подключением. Когда вы будете готовы, нажмите кнопку Подключиться.
  • Вас попросят ввести пароль SSH во всплывающем окне терминала. Введите пароль, затем нажмите клавишу ввода на клавиатуре.

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

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

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

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

Есть несколько предварительных условий, которые необходимо выполнить, прежде чем вы действительно сможете использовать информацию в этой статье.

1. Сервер SSH. Во-первых, вам необходимо настроить персональный сервер SSH, который будет использоваться для создания безопасного туннеля VNC. Это выходит за рамки этой статьи, но вы можете прочитать отличный пост LifeHacker о том, как настроить персональный SSH-сервер. (Этому руководству уже более десяти лет, но оно все еще работает. В другом блоге есть новое руководство, которое также работает.

2. VNC-сервер. Во-вторых, вам нужно установить и настроить VNC-сервер на каждой машине, к которой вы хотите подключиться.

3. Динамический DNS — наконец, если вы хотите иметь возможность подключаться к домашнему компьютеру из-за пределов локальной сети, вам нужно будет настроить бесплатную динамическую учетную запись DNS, если у вас уже нет статического IP-адреса. Вы можете прочитать мой предыдущий пост здесь о том, как настроить динамический DNS. Это позволит вам использовать уникальное доменное имя, например myname.homeip.net и т. Д.

Это может показаться большим количеством вещей, чтобы завершить, прежде чем вы можете сделать это, и это так! Мне потребовалось некоторое время, чтобы изучить все и заставить все это работать, но как только это настроено, и это работает, вы будете чувствовать, что только что поднялись на Эверест!

Порядок, в котором вы хотели бы выполнить эти три предварительных условия, — это настроить динамический DNS, затем настроить программное обеспечение сервера VNC (довольно просто) и затем настроить сервер SSH.

Туннельный VNC Over SSH

Хорошо, теперь к учебнику для изучения, как туннелировать VNC через SSH! В этой статье я буду использовать TightVNC в качестве программного обеспечения для удаленного управления, а Putty в качестве клиента SSH. Мы будем использовать Putty для подключения к SSH-клиенту, а затем использовать TightVNC для подключения к компьютеру, которым мы хотим управлять.

Читайте также:  Дефрагментация hdd windows 10

Шаг 1 : Откройте Putty и щелкните по категории Session в левой панели. В поле Host Name вам необходимо ввести динамический DNS-адрес вашего домашнего SSH-сервера. Или вы можете ввести IP-адрес, если у вас есть статический IP-адрес. Обратите внимание, что это ваш внешний IP-адрес для сервера SSH.

Также введите имя в текстовое поле « Сохраненные сеансы», например, VNC через SSH, и нажмите «Сохранить». Таким образом, вам не придется делать это каждый раз.

Шаг 2 : Теперь разверните Connection, затем SSH и нажмите на Tunnels . Теперь введите номер порта источника и порт назначения. Порт источника для TightVNC — 5900, потому что это порт, на котором он прослушивает соединения.

Порт назначения будет внутренним IP-адресом вашего SSH-сервера, за которым следует тот же номер порта, то есть 10.0.1.104:5900.

Шаг 3 : Теперь нажмите кнопку Добавить, и она появится в списке прямо над:

Шаг 4 : Вам не нужно ничего менять. Это действительно так! Теперь вернитесь к экрану Session и снова нажмите кнопку Save.

Вы можете проверить это, нажав кнопку « Открыть», и у вас должно появиться командное окно, которое запрашивает у вас имя пользователя и пароль. После успешного входа на сервер SSH вы попадете в командную строку. Теперь вы создали VNC через SSH туннель!

Шаг 5 : Теперь откройте TightVNC и введите 127.0.0.1 в поле сервера VNC:

Теперь нажмите « Подключиться», и вы сможете подключиться к компьютеру удаленно! Это немного сложный и немного сложный процесс, но если вы будете продолжать пытаться, вы заставите его работать! После того, как вы настроите сервер SSH, вы также можете использовать его для шифрования сеанса просмотра веб-страниц!

Если у вас есть какие-либо вопросы или вы не можете что-то выяснить, оставьте комментарий, и я постараюсь вам помочь! Наслаждайтесь!

HOWTO: Set up a Windows SSH server for VNC tunneling

Published 17 August 2006 by Mark

This tutorial will walk you through the steps to running a SSH server on your Windows machine and using it to create a secure tunnel through the Internet to use VNC.

SETUP: Server

Install the SSH server:

  1. Log into Windows with Administrative privileges
  2. If there is no password set for this user, set one in the Control Panel. *(a password is required)
  3. Create a cygwin folder in the C: drive (C:\cygwin)
  4. Download setup.exe from cygwin.com and save it to C:\cygwin
  5. Run C:\cygwin\setup.exe
  6. Install from the Internet and save to C:\cygwin\
  7. For Local Package Directory, use C:\cygwin\
  8. Select a download site from the large list.
  9. On the Select Package screen, click View once so “Full” appears.
  10. Scroll down to openssh in the package column, and click on “Skip” so an “X” will appear in column “Bin?”.
  11. After the packages have been downloaded, finish the installation
  12. Right click My Computer, Properties > Advanced > Environment Variables
  13. Under System Variables, click New, add CYGWIN as the variable name, add ntsec as the variable value
  14. Under System Variables, scroll down to Path, click Edit, add ;c:\cygwin\bin to the end of the string already in the field
  15. Open Cygwin on the desktop and type in ssh-host-config
  16. “Privilege Separation?” Yes
  17. “Create local user SSHd?” Yes
  18. “Install SSHd as a service?” Yes
  19. “CYGWIN = ” enter ntsec
  20. While in the same Cygwin window, enter net start sshd to start the SSH server
  21. If you ever need to stop the SSH server, enter net stop sshd
  22. In the Cygwin window enter mkpasswd –local > /etc/passwd to copy over the Windows user settings to Cygwin
  23. In the Cygwin window enter mkgroup –local > /etc/group to copy over the Windows group settings to Cygwin
Читайте также:  Как сделать чтобы видеть скрытые папки windows

Test the SSH server:

  1. Enter ssh localhost in a Cygwin window
  2. Any time you SSH into a server for the first time, you will get an authenticity warning. The RSA key will be listed and it will ask you if you want to continue. Type in ‘yes‘ to continue.
  3. If you get a prompt without any errors, enter ls -lh /cygdrive/c
  4. If you see a directory listing of your C:\ drive, everything went right

Install the VNC server:

  1. Install your VNC client of choice. Make sure you install the server portion of the client
  2. If you are given the option to “allow loopback connections” choose Yes
  3. Make sure you register the VNC Server as a system service. Various clients do this in different ways
  4. Once it’s registered as a service, it will auto-run at Windows startup as a service

Tweak your firewall (if applicable) to allow port 22:

  1. In your firewall, open TCP port 22 for SSH use
  2. Example : in Norton Internet Security, Personal Firewall > Configure button > Advanced tab > General button > click Add. Permit to and from connections for TCP port 22. Name the rule something like SSH
  3. Example : in Windows Firewall for SP2, Start > Control Panel > Windows Firewall > Exceptions Tab > Add port > port name SSH, port 22 TCP

Tweak your router (if applicable) to forward port 22:

  1. If you’re behind a router, forward TCP port 22 to your internal IP
  2. This means that any traffic coming in through port 22 (the SSH port) will be passed through the router and directed (forwarded) to your internal IP

SETUP: Remote machine

Install the SSH client and create a tunnel:

  1. Install your SSH client of choice (mine is PuTTY)
  2. Create a tunnel to your SSH server
  3. In PuTTY, click the Add button under the tunnels section
  4. Make the source port = 5900 and the destination = 127.0.0.1:5900
  5. In the SSH Secure Shell client, edit your profile and go to the Tunneling tab
  6. Make the listen port 5900, the Destination host 127.0.0.1 and the destination port 5900. Choose TCP for the type and uncheck “Allow local connections only.”

Configure PuTTY for auto-login (if you choose to use PuTTY):

  1. Make a shortcut to putty.exe on your Desktop
  2. Right click the shortcut, Properties > Shortcut tab > Target field
  3. Add the following to the end of the string in the field: -load “[your profile name]” -l [login name]-pw [password]
  4. Example: -load “home” -l Mark -pw mypassword

Install the VNC viewer:

  1. Find a VNC program of your choice and install the VNC Viewer portion of the package.

EXECUTE: VNC over SSH

  1. Open your SSH client , connect to your remote IP address
  2. Open your VNC viewer , connect to 127.0.0.1:5900
Оцените статью