Как да тунелирам VNC през SSH

Ако се свързвате с отдалечен работен плот с помощта на протокола за виртуална мрежа(Virtual Network Computing) ( 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 Viewer, през връзката. За да работи това, ще трябва да имате подходящ SSH сървър, инсталиран на отдалечения настолен компютър или сървър, към който искате да се свържете през VNC .

  • За да започнете, изтеглете PuTTY и отворете клиента. 
  • Главното меню за сесия(Session ) ви позволява да въведете IP адреса на вашия сървър или име на хост. Въведете адреса на вашия SSH сървър в текстовото поле Име на хост (или IP адрес) . (Host Name (or IP address))Ако вашият SSH порт е различен от стандартния порт 22, въведете това в полето Порт(Port)
  • Вие също ще искате да запазите тази сесия, така че в текстовото поле Запазени сесии добавете подходящо име за вашата (Saved Sessions)SSH връзка, след което щракнете върху бутона Запиши(Save) .

  • В лявото меню разгънете раздела Връзка(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 връзка, докато PuTTY прави опит.

  • След като процесът на влизане завърши, ще получите достъп до прозореца на SSH терминала за вашия отдалечен работен плот.

С активен SSH тунел към сървъра за отдалечен работен плот, вече ще можете да осъществите VNC връзка. Можете да използвате всеки VNC клиент, който изберете, но това ръководство ще ви покаже как да се свържете с TightVNC , популярен и безплатен 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 клиент за VNC връзки, той не поддържа SSH тунелиране в самия клиент, което изисква да използвате PuTTY , за да осъществите връзката.

Други 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 връзките не са криптирани по подразбиране, собственият протокол за отдалечен работен плот на Microsoft е(is) криптиран. Ако използвате Windows и планирате да се свържете с отдалечен компютър или сървър с Windows , вместо това можете да се свържете с помощта на инструмента за връзка с отдалечен работен плот .(Remote Desktop Connection)



About the author

Аз съм компютърен програмист и съм от над 15 години. Уменията ми са в разработването и поддържането на софтуерни приложения, както и в предоставянето на техническа поддръжка за тези приложения. Също така съм преподавал компютърно програмиране на гимназисти и в момента съм професионален инструктор.



Related posts