Utilizarea Xming X Window Server prin VPN

Am Xming X Window Server instalat pe un laptop care rulează Windows XP pentru a vă conecta la unele servere de dezvoltare UNIX.

Funcționează bine atunci când mă conectez direct la rețeaua companiei din birou. Cu toate acestea, nu funcționează atunci când mă conectez la rețea de la distanță printr-o rețea VPN.

Când pornesc Xming când sunt conectate de la distanță, niciuna dintre terminalele Windows nu sunt afișate.

Cred că poate avea legătură cu variabila de mediu DISPLAY care nu este corect setată la adresa IP a laptopului atunci când este conectată.

Am observat că atunci când fac un ipconfig în timp ce sunt conectat de la distanță, laptopul meu are două adrese IP, cel alocat de acesta din rețeaua companiei și adresa IP locală pe care am setat-o ​​pentru el în "rețeaua locală" modem / router.

Există unele modificări de configurare pe care trebuie să le fac în Xming pentru a sprijini utilizarea acestuia prin VPN?

0
fr hi bn

7 răspunsuri

Vă mulțumim pentru ajutor @ Stefhen și @ Castelul Greg, folosind-l am reușit să-mi rezolve problema.

Pentru a oferi un ghid de bază pentru alții (de la zero):

Utilizarea Xwindows pe un PC Windows pentru conectarea la un server UNIX printr-o rețea VPN

De ce trebuie să începeți:

Ce sa fac:

  1. Install both of the above on your Windows PC

  2. From the Windows start menu select: Programs -> Xming -> Xming

  3. Run the Putty.exe program in the location you downloaded it to

  4. In the PuTTY configuration screen do the following:

    • Set the IP address to be the IP address of your UNIX server

    • Select the SSH Protocol radio-button

    • Click the SSH : Tunnels category in the left hand pane of the configuration screen

    • Click the Enable X11 forwarding check-box

    • Click the Open button

    • Logon as usual to your UNIX server

    • Check the directory containing the X windows utilities are in your path, e.g. /usr/X/bin on Solaris

    • Run your X Windows commands in your putty window and they will spawn new windows on your desktop

0
adăugat

Există șanse să fie autentificarea X, legarea serverului X la o interfață sau variabila DISPLAY. Nu folosesc Xming, dar există un fenomen general pe care să-l verific. Un test pe care îl puteți face pentru verificarea manuală a variabilei DISPLAY este:

  1. Porniți VPN-ul. Rulați ipconfig pentru a vă asigura că aveți cele două adrese IP pe care le-ați menționat (IP-ul local și IP-ul VPN).
  2. Porniți Xming. Rulați "netstat -n" pentru a vedea cum este legat de interfață. Ar trebui să vedeți ceva care spune fie localIP: 6000 sau VPNIP: 6000. S-ar putea să nu fie 6000, dar șansele vor fi ceva de genul asta. Dacă nu există niciun VPNIP: 6000, acesta poate fi obligatoriu numai pentru localIP sau chiar 127.0.0.1. Aceasta probabil că nu va funcționa peste VPN. Verificați dacă există unele setări Xming pentru a face legarea la alte interfețe sau la toate acestea.
  3. Dacă vedeți VPNIP: 6000 sau ceva asemănător, ia notă de ceea ce se spune și shell-ul de la distanță în gazda dvs. UNIX (sperăm că ceva de genul ssh, dacă nu tot ce trebuie să obțineți un terminal de text).
  4. Pe tipul terminalului UNIX 'echo $ DISPLAY'. Dacă nu este afișat nimic, încercați "export DISPLAY = VPNIP: 0.0" unde VPNIP este adresa IP VPN și 0.0 este portul pe care l-ați văzut la pasul 3 minus 6000 cu .0 la sfârșitul secțiunii (ie 6000 = 0.0, 6010 = 10.0).
  5. În gazda UNIX rulează ceva de genul 'xclock' sau 'xterm' pentru a vedea dacă rulează. Mesajul de eroare trebuie să fie informativ. Vă va spune că nu se poate conecta la gazdă (o problemă de conectivitate) sau că autentificarea a eșuat (va trebui să coordonați Xauth pe gazdă și pe mașina locală sau Xhosts pe mașina dvs. locală).

Deschiderea Xhosts (cu + pentru toate gazdele sau ceva asemănător) nu este prea rău dacă aveți o rețea protejată local și mergeți peste o rețea VPN. Sperăm că acest lucru va face să începeți să urmăriți problema. O altă opțiune care este adesea folositoare pe măsură ce funcționează pe o conectivitate VPN sau simplă ssh este ssh tunneling sau X11 forwarding over ssh. Acest lucru simulează conectivitatea cu serverul X din caseta locală prin redirecționarea unui port al gazdei dvs. UNIX la portul local din caseta serverului dvs. X. Afișajul dvs. va fi, de obicei, ceva de genul localhost: 10,0 pentru portul local 6010.

X poate fi ornery pentru a configura, dar de obicei, funcționează foarte bine odată ce ați atârnat de ea.

0
adăugat

S-ar putea să aveți mai mult noroc în a face X11 Forwarding prin SSH, în loc să vă vedeți cu DISPLAY variabilă direct. X11 Redirecționarea cu SSH este sigură și utilizează conexiunea SSH existentă pentru tunel, astfel încât lucrul prin VPN nu ar trebui să fie o problemă.

Fortunately this is fairly straightforward with Xming. If you open your connection from within Xming (e.g. the plink option) I believe it sets up X11 forwarding by default. If you connect using another SSH client (e.g. PuTTY) then you simply need to enable X11 forwarding (e.g. 'ssh -X [email protected]'). In PuTTY the option is under Connection -> SSH -> X11 -> click on 'Enable X11 Forwarding'.

Asigurați-vă că Xming rulează în fundal pe laptop și face testul standard X, 'xclock'. Dacă primiți un mesaj ca "conexiunea X la localhost: 19.0 rupt (închidere explicită sau închidere server)". atunci Xming este cel mai probabil nu rulează.

De asemenea, asigurați-vă că nu vă setați în mod explicit variabila DISPLAY în orice script de pornire; SSH va configura un alias (ceva ca localhost: 10 sau în exemplul de mai sus localhost: 19) pentru tunelul X11 și va seta automat DISPLAY la acea valoare. Suprascrierea mesajului DISPLAY va însemna că nu veți mai indica tunelul X11 corect. Partea laterală a acestui lucru este că alte terminale care nu au setul SSH X11 Forwarding pot utiliza aceeași valoare a DISPLAY și pot profita de tunel.

Am tendința de a prefera opțiunea PuTTY, dar câțiva dintre colegii mei folosesc zgomotul din interiorul Xming.

0
adăugat

Nu am avut decât probleme cu Xming. Când am reușit să o duc la lucru, a fost extrem de lentă (asta este peste o VPN). IMO X nu este proiectat să ruleze peste conexiunile lente prea vorbind. Și prin conexiune lentă vreau să spun ceva mai puțin decât o conexiune LAN.

Soluția mea a fost să folosesc x11vnc. Vă permite să vă accesați sesiunea X11 existentă prin VNC. Eu doar ssh în cutia mea prin intermediul VPN și lansarea:

$ x11vnc -display :0

În acest fel, pot accesa tot ce am deschis în timpul zilei. Apoi atunci când nu termin eu ( Ctrl - C ) în terminal pentru a închide x11vnc.

0
adăugat
Xming este teribil de lent și peste o rețea LAN ...: - /
adăugat autor Homer6, sursa

Nu am problema exacta, dar cred ca trebuie sa te uiti la xhost si sa te asiguri ca remote-ul vpn are permisiunea de a trimite date pe serverul x.

This link might help: http://www.straightrunning.com/XmingNotes/trouble.php

0
adăugat

I got Xming and PuTTY working with Cisco VPN by replacing the PuTTY configuration in Connection > SSH > X11 > X display location, localhost:0.0, with VPNIP:0.0. VPNIP can be seen in the VPN statistics client address information by left-clicking on the VPN client lock icon and choose Statistics....

Nu am mâncat cu variabila de mediu DISPLAY pe gazda de la distanță. Dar, ca și alții, am modificat sshd_config pe gazda la distanță, adăugând următoarele linii:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet
0
adăugat

Am aceeași problemă cu Xming și Putty pe o mașină Windows 10 și am găsit soluția aici . Am depășit problema adăugând Tuneluri la sesiunea din PuTTY. Dar mai întâi trebuie să verificați;

  • sshd_config under /etc/ssh (in rhel7).
  • Enable X11 forwarding at left navigation pane Connections > SSH > X11
  • iptables under /etc/sysconfig/ (in rhel7). If ports are blocked and you have permission, open the ports for 6000. I have added below line before first reject line to open ports from 6000 to 6003. It may be more specific in your case.

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

Apoi;

  • Go to Connections > SSH > Tunnels in PuTTY and add a tunnel with Source Port=6000, Destination=127.0.0.1:6000 and check Remote radio button. Then click the Add button.
  • After your SSH connection established, set your DISPLAY variable manually with the command below:
    export DISPLAY=127.0.0.1:0.0

More Information;
If you set DISPLAY variable as 127.0.0.1:1.0, it will communicate over 6001 port . In this case, you need to add another tunnel for port number 6001.

0
adăugat