Instalirajte Tightvnc iz naredbenog retka. Daljinsko upravljanje Linuxom iz Windowsa. Metoda infekcije TightVNC

Rad s VNC klijentom. Materijal je namijenjen neiskusnim korisnicima.

1. Instaliranje VNC klijenta
2. Povezivanje VNC klijenta s udaljenim računalom
3. Odspajanje VNC klijenta s udaljenog računala
4. Podešavanje VNC klijenta
5. Uobičajeni problemi

Za rad s udaljenim računalom putem VNC-a potrebno je pokrenuti klijentski program (VNC preglednik, VNC klijent) na računalu korisnika. Ovaj program prenosi podatke o pritiscima tipki i pokretima miša koje je napravio korisnik na udaljeno računalo i prikazuje informacije namijenjene prikazu na ekranu.

1. Instaliranje VNC klijenta
Za Windows OS možete besplatno preuzeti i instalirati VNC klijent UltraVNC i TightVNC.

Mac OS X od verzije 10.5 ima podršku za VNC klijent u RemoteDesktopu. Za prethodne verzije Možete koristiti VNC klijente JollysFastVNC i .

Za Linux granu Debiana (Ubuntu), VNC klijent se instalira iz repozitorija naredbom:

Apt-get instalirajte vncviewer

Za RedHat granu (CentOS, Fedora) - naredbom:

Yum instalirajte vnc

Za FreeBSD, VNC klijent (TightVNC) se instalira iz paketa naredbom:

Pkg_add -r tightvnc

2. Povezivanje VNC klijenta s udaljenim računalom
Za povezivanje VNC klijenta s udaljenim računalom, morate navesti njegovu IP adresu ili DNS naziv i broj prikaza (zadano, :0) ili broj TCP porta (zadano, 5900). Ako VNC poslužitelj zahtijeva autorizaciju, tada će prilikom povezivanja s njim VNC klijent tražiti lozinku. Imajte na umu da lozinka za pristup VNC poslužitelju nije povezana ni s jednim računom (korisničkim računom) na udaljenom računalu, već služi samo za ograničavanje pristupa prikazu VNC poslužitelja.

Nakon uspostavljanja veze i otvaranja ekrana, ovisno o postavkama VNC poslužitelja, može biti potrebna autorizacija korisnika virtualni poslužitelj ili se može otvoriti već pokrenuta radna sesija korisnika.

Budući da nekoliko VNC poslužitelja može biti pokrenuto na računalu u isto vrijeme, parametar se koristi za njihovo razdvajanje prikaz broja. Na primjer, jedan VNC poslužitelj može raditi na display:0, drugi na display:1. Svaki broj prikaza odgovara broju TCP porta na kojem VNC poslužitelj prihvaća veze. Broj porta za zaslon dobiva se dodavanjem broja zaslona osnovnom broju porta - 5900. Display:0 odgovara TCP portu 5900, display:1 - portu 5901.

3. Odspajanje VNC klijenta s udaljenog računala
Prilikom zatvaranja prozora VNC klijenta ili nakon napuštanja okruženja korištenjem desktop alata, ovisno o postavkama VNC poslužitelja, radna sesija korisnika može se zatvoriti sa zaustavljenim svim programima koji se koriste ili nastaviti s radom i ponovno biti dostupan pri spajanju na VNC poslužitelj. opet.
4. Podešavanje VNC klijenta
Velika količina informacija koja se prenosi na ekran podrazumijeva povećane zahtjeve za brzinom kanala - njegovu propusnost i vrijeme prijenosa paketa. Nedostatak propusnosti dovodi do neugodnih kašnjenja kada postoje velike promjene u informacijama prikazanim na zaslonu - otvaranje novih prozora, pomicanje itd. Latencije će biti posebno duge kada se prikazuju fotografije i druge slike ili elementi sučelja koji imaju veliki broj boja i složenih oblika.

Glavni parametar koji utječe na količinu prenesenih podataka je algoritam kodiranja prenesene grafike. Da biste smanjili glasnoću i, prema tome, ubrzali rad, preporučuje se korištenje algoritama Tight, ZLib, ZRLE - u usporedbi s nekomprimiranim podacima (Raw), oni pružaju desetke puta kompresiju, značajno opterećujući procesor. Ovi algoritmi kodiranja omogućuju ugodan rad čak i na kanalima brzine 256-512 Kbps.

Kako biste smanjili količinu informacija koje se prenose preko mreže, također možete postaviti visoku razinu kompresije (Compression Level, Compression Value), nisku razinu JPEG kvalitete (JPEG Quality) i omogućiti način smanjenja boje (-bgr233, Ograničene boje). Najveći učinak od njih, uz osjetno smanjenje kvalitete slike, daje način smanjenja broja boja - volumen prenesene informacije smanjuje se za 1,5-3 puta, odnosno prikaz na ekranu se ubrzava za 1,5-3 puta.

JPEG koristi algoritam Tight encoding za komprimiranje područja zaslona koja sadrže fotografije i druge složene slike s velikim brojem boja. Korištenje Tight+JPEG smanjuje količinu prenesenih podataka za 2-5 puta. Drugi algoritmi za JPEG kodiranje nisu podržani.

1. Padajući izbornik “Sustav -> Opcije”

Količina prenesenih podataka i brzina prikaza na kanalu je 1 Mbit/s pri otvaranju padajućeg izbornika “Sustav -> Parametri” (izbornik je na slici označen zelenom točkastom linijom):

5. Uobičajeni problemi
Ne mogu se spojiti na VNC poslužitelj
Treba provjeriti:
  1. postoji li pristup Internetu;
  2. odgovara li virtualni poslužitelj na pingove;
  3. radi li VNC poslužitelj na virtualnom poslužitelju;
  4. postoji li usput vatrozid koji blokira pristup TCP portu VNC poslužitelja;
  5. Je li broj prikaza ili TCP port VNC poslužitelja točno naveden (broj porta = 5900 + broj zaslona).
Spor rad kroz prilično brz kanal
Ako se VNC klijent ne može dogovoriti s VNC poslužiteljem o korištenju algoritma za kodiranje grafike s kompresijom podataka, odabire se zadani algoritam - Raw, koji prenosi podatke bez kompresije. Također, VNC klijent može automatski odabrati kodiranje bez kompresije ili s niskom razinom kompresije pri radu s brzim lokalna mreža. Ovaj problem može se popraviti forsiranjem algoritma kodiranja s visokom razinom kompresije - ZLib, ZRLE, Tight - u postavkama VNC klijenta.

Međutim, za neke kombinacije klijenta i poslužitelja ovo rješenje možda neće biti korisno zbog pogrešaka u pregovaranju algoritma za kodiranje. Na primjer, TightVNC klijent s RealVNC poslužiteljem često može raditi samo s Raw kodiranjem. Rješenje u ovom slučaju je promjena VNC klijenta ili VNC poslužitelja.

25. studenog 2009. u 13:21

Povezivanje s udaljenim računalom putem VNC-a

  • Postavljanje Linuxa

Rad s VNC klijentom. Materijal je namijenjen neiskusnim korisnicima.

1. Instaliranje VNC klijenta
2. Povezivanje VNC klijenta s udaljenim računalom
3. Odspajanje VNC klijenta s udaljenog računala
4. Podešavanje VNC klijenta
5. Uobičajeni problemi

Za rad s udaljenim računalom putem VNC-a potrebno je pokrenuti klijentski program (VNC preglednik, VNC klijent) na računalu korisnika. Ovaj program prenosi podatke o pritiscima tipki i pokretima miša koje je napravio korisnik na udaljeno računalo i prikazuje informacije namijenjene prikazu na ekranu.

1. Instaliranje VNC klijenta
Za Windows OS možete besplatno preuzeti i instalirati VNC klijent UltraVNC i TightVNC.

Mac OS X od verzije 10.5 ima podršku za VNC klijent u RemoteDesktopu. Za prethodne verzije možete koristiti VNC klijente JollysFastVNC i .

Za Linux granu Debiana (Ubuntu), VNC klijent se instalira iz repozitorija naredbom:

Apt-get instalirajte vncviewer

Za RedHat granu (CentOS, Fedora) - naredbom:

Yum instalirajte vnc

Za FreeBSD, VNC klijent (TightVNC) se instalira iz paketa naredbom:

Pkg_add -r tightvnc

2. Povezivanje VNC klijenta s udaljenim računalom
Za povezivanje VNC klijenta s udaljenim računalom, morate navesti njegovu IP adresu ili DNS naziv i broj prikaza (zadano, :0) ili broj TCP porta (zadano, 5900). Ako VNC poslužitelj zahtijeva autorizaciju, tada će prilikom povezivanja s njim VNC klijent tražiti lozinku. Imajte na umu da lozinka za pristup VNC poslužitelju nije povezana ni s jednim računom (korisničkim računom) na udaljenom računalu, već služi samo za ograničavanje pristupa prikazu VNC poslužitelja.

Nakon uspostavljanja veze i otvaranja ekrana, ovisno o postavkama VNC poslužitelja, može biti potrebna autorizacija korisnika na virtualnom poslužitelju ili se može otvoriti već pokrenuta radna sesija korisnika.

Budući da nekoliko VNC poslužitelja može biti pokrenuto na računalu u isto vrijeme, parametar se koristi za njihovo razdvajanje prikaz broja. Na primjer, jedan VNC poslužitelj može raditi na display:0, drugi na display:1. Svaki broj prikaza odgovara broju TCP porta na kojem VNC poslužitelj prihvaća veze. Broj porta za zaslon dobiva se dodavanjem broja zaslona osnovnom broju porta - 5900. Display:0 odgovara TCP portu 5900, display:1 - portu 5901.

3. Odspajanje VNC klijenta s udaljenog računala
Prilikom zatvaranja prozora VNC klijenta ili nakon napuštanja okruženja korištenjem desktop alata, ovisno o postavkama VNC poslužitelja, radna sesija korisnika može se zatvoriti sa zaustavljenim svim programima koji se koriste ili nastaviti s radom i ponovno biti dostupan pri spajanju na VNC poslužitelj. opet.
4. Podešavanje VNC klijenta
Velika količina informacija koja se prenosi na ekran podrazumijeva povećane zahtjeve za brzinom kanala - njegovu propusnost i vrijeme prijenosa paketa. Nedostatak propusnosti dovodi do neugodnih kašnjenja kada postoje velike promjene u informacijama prikazanim na zaslonu - otvaranje novih prozora, pomicanje itd. Latencije će biti posebno duge kada se prikazuju fotografije i druge slike ili elementi sučelja koji imaju veliki broj boja i složenih oblika.

Glavni parametar koji utječe na količinu prenesenih podataka je algoritam kodiranja prenesene grafike. Da biste smanjili glasnoću i, prema tome, ubrzali rad, preporučuje se korištenje algoritama Tight, ZLib, ZRLE - u usporedbi s nekomprimiranim podacima (Raw), oni pružaju desetke puta kompresiju, značajno opterećujući procesor. Ovi algoritmi kodiranja omogućuju ugodan rad čak i na kanalima brzine 256-512 Kbps.

Kako biste smanjili količinu informacija koje se prenose preko mreže, također možete postaviti visoku razinu kompresije (Compression Level, Compression Value), nisku razinu JPEG kvalitete (JPEG Quality) i omogućiti način smanjenja boje (-bgr233, Ograničene boje). Najveći učinak od njih, s primjetnim smanjenjem kvalitete slike, daje način smanjenja broja boja - volumen prenesenih informacija smanjuje se 1,5-3 puta, odnosno prikaz na zaslonu ubrzava se za 1,5. -3 puta.

JPEG koristi algoritam Tight encoding za komprimiranje područja zaslona koja sadrže fotografije i druge složene slike s velikim brojem boja. Korištenje Tight+JPEG smanjuje količinu prenesenih podataka za 2-5 puta. Drugi algoritmi za JPEG kodiranje nisu podržani.

1. Padajući izbornik “Sustav -> Opcije”

Količina prenesenih podataka i brzina prikaza na kanalu je 1 Mbit/s pri otvaranju padajućeg izbornika “Sustav -> Parametri” (izbornik je na slici označen zelenom točkastom linijom):

5. Uobičajeni problemi
Ne mogu se spojiti na VNC poslužitelj
Treba provjeriti:
  1. postoji li pristup Internetu;
  2. odgovara li virtualni poslužitelj na pingove;
  3. radi li VNC poslužitelj na virtualnom poslužitelju;
  4. postoji li usput vatrozid koji blokira pristup TCP portu VNC poslužitelja;
  5. Je li broj prikaza ili TCP port VNC poslužitelja točno naveden (broj porta = 5900 + broj zaslona).
Spor rad kroz prilično brz kanal
Ako se VNC klijent ne može dogovoriti s VNC poslužiteljem o korištenju algoritma za kodiranje grafike s kompresijom podataka, odabire se zadani algoritam - Raw, koji prenosi podatke bez kompresije. Također, VNC klijent može automatski odabrati nekomprimirano ili niskokomprimirano kodiranje kada radi preko brze lokalne mreže. Ovaj se problem može riješiti forsiranjem algoritma kodiranja s visokom razinom kompresije - ZLib, ZRLE, Tight - u postavkama VNC klijenta.

Međutim, za neke kombinacije klijenta i poslužitelja ovo rješenje možda neće biti korisno zbog pogrešaka u pregovaranju algoritma za kodiranje. Na primjer, TightVNC klijent s RealVNC poslužiteljem često može raditi samo s Raw kodiranjem. Rješenje u ovom slučaju je promjena VNC klijenta ili VNC poslužitelja.

Ponekad nam treba udaljeni pristup vizualnoj ljusci Linuxa, ovaj zadatak potrebno je izuzetno rijetko, ali ako je potrebno, ništa nije nemoguće :) U tu svrhu preporučujem korištenje cightvnc, zašto tightVNC? Ovaj softver je sposoban za oboje linux, i od prozori daljinski spojiti na radnu površinu, njegova instalacija je izuzetno jednostavna i ne zahtijeva nikakve posebne plesove uz tamburicu :) Možda ima još više najbolji softver, pa podijeli to s nama :)
Povrh svega ostalog tijesanVNC sposoban za rad na niskim komunikacijskim kanalima, ovo je dobar plus za optimizaciju.
Prijeđimo na instalaciju!

Instaliranje tightvnc poslužitelja na stroj na koji se želite spojiti:
sudo apt-get instalirajte tightvncserver
U najnovija ažuriranja ubuntu, naime od verzije 14.04 bio je mali bug s gnomeom, kada se pri spajanju umjesto slave. tablica je prikazala sivi ekran, tako da za povezivanje morate koristiti drugi modul ljuske:
sudo apt-get instalirajte xfce4 xfce4-dobrine
Postavljanje lozinke za pristup:
vncpasswd ~/.vnc/passwd Datoteka passwd bit će stvorena u skrivena mapa u vašem početnom direktoriju... Ovu mapu možete kreirati sami.vnc...

Pokrenite s postavkama koje su vam potrebne:
sudo tightvncserver -geometrija 1024x768 -dubina 16 Pokreće tightVNC s rezolucijom od 1024x768 i 16-bitnom dubinom boje

Standardno pokretanje:
sudo vncserver:1
Ubijte proces nakon završetka:
sudo vncserver -kill:1

Bilješka:

Kako promijeniti zadani tightVNC port?
Za pristup udaljenom stroju, port mora biti proslijeđen 5901, ovo je standardni tightVNC port, možete ga promijeniti prilikom povezivanja, pri povezivanju u standardnom slučaju koristite: 1 - ovo je port 5901, ako želite koristiti port 5911, stoga će pri povezivanju biti: 11 i tako dalje: na primjer, trebate port 7829, pokrenite vncserver ovim pravilom:
sudo vncserver:7829 oduzmite 5900 = 1929, zatim prilikom spajanja na udaljeni stroj napišite: IP:1929 ili ovako: IP:7829, koristite kako želite, ne zaboravite proslijediti port koji vam je potreban.
tightVNC sivi ekran prilikom povezivanja
Ako ste imali bug sa sivim ekranom prilikom povezivanja i instalirali ste paket xfce4, tada morate promijeniti datoteku xstartup:
sudo nano root/.vnc/xstartup Komentirajte sve u ovu datoteku i dodajte sljedeće:
#!bin/sh xrdb $HOME/.Xresources startxfce4 &
tightVNC ne radi kada se mijenja raspored tipkovnice
Ako se raspored tipkovnice ne mijenja, dodajte:
#!bin/sh xrdb $HOME/.Xresources startxfce4 & izvoz XKL_XMODMAP_DISABLE=1 Ali to je nepotrebno, ova greška se događa izuzetno rijetko...
U nastavku ću priložiti instalacijske pakete tightVNC preglednik I poslužitelj Za Windows 32 I 64 malo. Jack Wallen objašnjava kako koristiti TightVNC na daljinu i obrnuto za administraciju na više platformi.

Sa stajališta administratora, jedna od najvažnijih funkcija sustava je mogućnost njegovog daljinskog održavanja. Alati za obavljanje ovog zadatka dostupni su u gotovo svakom OS-u, ali što učiniti ako udaljena administracija potreban u međuplatformskom okruženju? Remote Desktop Protocol u ovom slučaju nije opcija. Za povezivanje na Windows s Linux računala najbolje je koristiti VNC (Virtual Network Computing), ili točnije, TightVNC.

TightVNC je besplatno rješenje za rad s VNC-om, koji uključuje preglednik i poslužitelj za Windows, kao i poslužitelj za Linux. Pogledajmo kako postaviti poslužitelje na obje platforme za omogućavanje udaljena veza.

Povezivanje s Linuxa na Windows

Instaliranje TightVNC-a na Windows je vrlo jednostavno. Jednostavno preuzmite odgovarajuću verziju programa za instalaciju s web stranice TightVNC, dvaput pritisnite datoteku i slijedite upute čarobnjaka. Ali tada je sve malo kompliciranije.

Da biste se mogli spojiti na svoje računalo, prvo trebate konfigurirati i pokrenuti TightVNC poslužitelj na njemu. Da biste to učinili, pronađite u Start | Svi programi" (Start | Svi programi) mapa "TightVNC | TightVNC Server (Application Mode)”, i u njemu pokrenite alat “TightVNC Server - Offline Configuration”. U prozoru koji se pojavi otvorite karticu “Server” (Slika A) i konfigurirajte TightVNC poslužitelj prema svojim potrebama.

Slika A: Lozinka mora biti postavljena za dolazne veze i ne može biti prazna.

Najmanje morate postaviti lozinku za dolazne veze. Nakon toga možete pokrenuti poslužitelj. Da biste to učinili, koristite prečac “Run TightVNC Server” u istoj mapi. U ovom slučaju neće se otvoriti prozori - umjesto toga, pozadina Pokrenut će se demon TightVNC.

Sada na svom Linux računalu pokrenite standardni lijek Remote Desktop Connection, unesite IP adresu Windows VNC poslužitelja i povežite se. Od vas će se tražiti da unesete lozinku, nakon čega će se uspostaviti udaljena veza.

Ako ne znate koji VNC klijent odabrati, preporučam Vinagre - jednostavan i prikladna aplikacija za okruženje radne površine GNOME.

Povezivanje s Windowsa na Linux

Povezivanje s Windowsa na Linux malo je lakše ( cm.). Objasnit ću kako postaviti vezu na računalu koje radi Upravljanje Ubuntuom 10.10. Prvo morate instalirati tightvncserver.

1. Pokrenite Ubuntu softverski centar.
2. Unesite “tightvncserver” (bez navodnika) u traku za pretraživanje.
3. Označite tightvncserver i kliknite gumb Instaliraj.
4. Unesite svoju lozinku račun korijen.

Nakon instalacije potrebno je konfigurirati poslužitelj. Za ovo:

1. Otvorite terminal.
2. Pokrenite naredbu tightvncserver.
3. Unesite svoju lozinku.
4. Ako je potrebno, postavite lozinku za gledanje.

Sada se možete povezati s ovim računalom pomoću aplikacije TightVNC Viewer iz sustava Windows. Nazovite to od početka | Svi programi | TightVNC | TightVNC Viewer" i unesite u prozor koji se pojavi IP adresu Linux računala koja označava port 5901 u formatu "192.168.100.21:5901". Ako ne navedete broj porta, TightVNC Viewer će se pokušati spojiti na port 5900 i veza neće uspjeti.

Prilikom povezivanja morat ćete unijeti lozinku koju ste postavili prilikom pokretanja poslužitelja na računalu s Linuxom. Nakon uspješne autorizacije, uspostavit će se veza (slika B).


Slika B. Spajanje na tightvncserver pomoću TightVNC Viewera omogućuje daljinsko administriranje Linux računala iz Windowsa.

Konačno

Postoji mnogo načina za povezivanje s udaljenim računalom, ali postojanje univerzalnog višeplatformskog rješenja kao što je TightVNC čini ovaj zadatak mnogo lakšim. Koja sredstva daljinske veze koristite? Koristite li VNC, RDP ili treću stranu softver poput Logmaina? Podijelite svoje iskustvo u komentarima!

  • Tutorial

Ovaj vodič govori o tome kako postaviti noVNC za daljinski pristup na Windows računala.

Zašto noVNC?

- Windows ima "nativni" alat za daljinski pristup - Remote Desktop Connection. Ali nije dostupan u svim verzijama sustava Windows – primjerice, nema ga u izdanju Home.
- Postoji također mnogo VNC poslužitelja i klijenata za bilo koji Windows verzije. Ali da biste ih koristili morate instalirati VNC klijent. A postoje slučajevi kada ne možete ništa instalirati (ograničena prava) ili je to nepoželjno kako ne biste ostavili tragove na tuđem računalu.
- Tu je i Chrome Remote Desktop, koji treba samo proširenje preglednika na strani klijenta. Ali imao sam slučaj kada je Chrome protokol blokirala organizacija (tamo je sve bilo blokirano), a noVNC koristi obični HTTP i stoga je radio.

Koliko ja znam, noVNC je jedini alat koji vam omogućuje povezivanje s udaljenim računalom bez instaliranja bilo kakvog klijenta - koristi se samo preglednik.
Postoji i SPICE, ali nisam našao poslužitelj za njega na Windowsima.

Kao rezultat ovog vodiča, možemo jednostavno otvoriti poveznicu u pregledniku, unijeti lozinku i koristiti udaljeni sustav.

Preduvjet je prosljeđivanje porta, odnosno bijeli IP udaljenog računala. Također možete koristiti VNC repetitor. Ali to je izvan dosega ovog članka.

Opća shema

Prvo ćemo instalirati obični VNC poslužitelj na port 5900.

Zatim ćemo instalirati noVNC i WebSockify na port 5901.

Cilj je da izgleda ovako:


Sada pokrenite naredbeni redak s administratorskim pravima:


Pokrenite WebSockify:

C:\> cd c:\noVNC\websockify c:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master UPOZORENJE: nema modula "resurs", podrška za demoniziranje onemogućena WebSocket postavke poslužitelja: - Slušaj na:5901 - Poslužitelj Flash sigurnosne politike - Web poslužitelj. Web root: c:\noVNC\noVNC-master - Nema SSL/TLS podrške (nema cert datoteke) - proxy od:5901 do 127.0.0.1:5900
Prvi parametar iznad je port na kojem će noVNC slušati: 5901 . Ovaj priključak mora biti dostupan klijentima.

Drugi parametar je IP i port na kojem se nalazi VNC poslužitelj: 127.0.0.1:5900

Treći parametar --mreža upućuje noVNC da da sadržaj imenika c:\noVNC\noVNC-master putem HTTP(a). Prema zadanim postavkama, noVNC pruža samo VNC websocket, ali ova vam opcija omogućuje da imate HTTP poslužitelj na istom priključku.

U imeniku c:\noVNC\noVNC-master preimenujte datoteku vnc.html V index.html tako da je zadano.

Sada bi noVNC klijent trebao biti dostupan na portu 5901:


Također pokušajte otvoriti stranicu noVNC s drugog računala/pametnog telefona kako biste bili sigurni da je dostupna izvana. Ako nije, provjerite:

Što imaš Vatrozid za Windows ne blokira vanjske veze do ove luke,
- da vaš usmjerivač ispravno prosljeđuje zahtjeve na ovaj priključak pravo računalo; Ako je potrebno, guglajte “port forwarding”.

Povezujemo se (Connect), upisujemo VNC lozinku i vidimo radnu površinu udaljenog računala!

Ako je nešto pošlo po zlu, pogreške bi se trebale pojaviti na našoj konzoli.

Poslužitelj noVNC možete zaustaviti pritiskom na Ctrl-C u konzoli. Gore opisana konfiguracija radi preko HTTP-a (i preko WS-a).

Dodavanje SSL-a sa samopotpisanim certifikatom

Dodavanje SSL-a nije obavezno. Samopotpisani certifikat možete izraditi ovako:

Openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
Za Windows openssl možete uzeti .

Kao rezultat, dobivamo datoteku self.pem, na koju se mora pokazati prilikom pokretanja noVNC-a:

C:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master --cert=c:\noVNC\self.pem
Sada imamo HTTPS i WSS (WebSocket Secure) koji rade. Za WSS morate navesti Encrypt u postavkama. Zanimljivo, noVNC koristi isti port za HTTP i HTTPS - on "zna kako" razlikovati zahtjeve i ispravno odgovoriti.

Budući da je certifikat samopotpisan, preglednik će morati prihvatiti ovaj certifikat.

Let's Encrypt

Nemam upute o tome kako konfigurirati sustav tako da Let's Encrypt automatski generira certifikat posebno za naš sustav. To bi zahtijevalo da noVNC radi na portu 80, što je naravno moguće, ali može biti nezgodno, i pronađite način za integraciju certbota tako da se te datoteke objave u željenom direktoriju. Mislim da je to moguće, ali nisam to učinio. Ako završite, podijelite to u komentarima.

U mom slučaju, već imam kućni poslužitelj s NGINX i DDNS imenom, koji je konfiguriran za automatsko primanje certifikata od Lets Encrypt.

Možete pokrenuti nešto slično za sebe. Postoje upute za postavljanje programa Let's Encrypt za Linux i Windows.

Stoga za noVNC Samo koristim postojeće pem-datoteke generirane za nginx.

Let's Encrypt stvara sljedeće datoteke:

Cert.pem: certifikat vaše domene chain.pem: certifikat lanca Let's Encrypt fullchain.pem: cert.pem i chain.pem u kombinaciji privkey.pem: privatni ključ vašeg certifikata
Na Ubuntuu se mogu pronaći na ovoj stazi: /etc/letsencrypt/live/your_domain_name

Treba kopirati (spojiti) puni lanac.pem I privatni ključ.pem u jednu datoteku, nazovimo je na primjer šifrirati.pem, a ovo je datoteka za koju ćemo se koristiti noVNC.

Naravno, ovo će raditi samo ako nginx poslužitelj i noVNC- na jednoj domeni. Priključci mogu biti različiti.

I ne smijemo zaboraviti da certifikati vrijede samo nekoliko mjeseci, a zatim morate kopirati ažurirane datoteke.

Dodajte noVNC kao Windows uslugu

Preuzmite zip arhivu i otpakirajte datoteke iz nje tako da budu u istoj mapi kao i datoteka websockify.exe, odnosno u našem slučaju u c:\noVNC\websockify.

Kada se pokrene, usluga će koristiti parametre iz datoteke noVNCConfig.ini. Evo primjera moje konfiguracije:

5901 127.0.0.1:5900 --web C:\noVNC\noVNC-master --cert=c:\noVNC\encrypt.pem
U konzoli pokrenutoj s administratorskim ovlastima izradite novu uslugu:

Sc create "noVNC Websocket Server" binPath= "c:\noVNC\websockify\noVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server"
Ako trebate izbrisati uslugu, učinite to ovako:

Sc izbrisati "noVNC Websocket poslužitelj"
Otvorite usluge (Upravljačka ploča → Administrativni alati → Usluge) i pokrenite noVNC Websocket poslužitelj. Također možete konfigurirati uslugu da se pokreće svaki put sa sustavom Windows:

Poznati problemi

Raspored tipkovnice

Otkrio sam da ruski raspored tipkovnice radi na prilično neobičan način:
Ako je klijent odabrao ruski jezik, onda udaljeno računalo tipke se uopće ne prenose.remote desktop Dodaj oznake