Zugriff auf den Linux-Server von einem Windows-Computer im grafischen Modus über SSH

7

Ich muss von meinem Heimcomputer unter Windows auf einen meiner Schul-Linux-Server zugreifen. Und ich muss remote auf den grafischen Desktop (X-Server) zugreifen, nicht nur auf die Shell.

Das Problem umfasst 3 Linux-Server mit unterschiedlichen Einstellungen. Ich habe keine Administratorrechte für diese und kann diese Einstellungen nicht ändern. Die 3 Server heißen Aisa, Lethe und Aura (jemand liebt hier die griechische Mythologie). Alle von ihnen sind Teil des lokalen Netzwerks der Schule.

Ich muss entweder auf Lethe oder Aura auf die grafische Oberfläche zugreifen, jede davon wäre in Ordnung.

Folgendes habe ich herausgefunden:

  • Ports für Dienste wie VPN sind auf keinem der 3 verfügbar
  • SSH ist auf Lethe und Aisa erlaubt, nicht auf Aura. Ich kann immer noch auf Aura zugreifen, wenn ich mit Putty und dann SSH zu Aisa oder Lethe mache ssh aura.
  • Ich habe das Xming-Programm ausprobiert , das eine grafische Verbindung von Windows zu Linux über SSH ermöglicht. Ich konnte mich nur auf diese Weise mit Aisa verbinden (warum nicht mit Lethe?! Putty arbeitet dort).

Was kann ich also versuchen, von meinem Windows-Computer aus eine grafische Verbindung zu Lethe oder Aura herzustellen? Anregungen sind herzlich willkommen.

Bearbeiten Hier ist der Code, der zeigt, wie ich nach dem Ausführen von Aura zurück zu Aisa getrennt werde vncserver:

aisa:/home/user>$ ssh aura
Last login: Sat Oct 13 00:00:00 2012 from aisa.domain.com
aura:/home/user>$ module add vnc
aura:/home/user>$ vncserver

New 'aura.domain.com:1 (user)' desktop is aura.domain.com:1

Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/aura.domain.com:1.log

aura:/home/user>$ Connection to aura closed by remote host.
Connection to aura closed.
aisa:/home/user>$ 

2 Inhalt der Datei /home/user/.vnc/aura.domain.com:1.lognach Ausführung des Befehls bearbeitenvncserver :

aura:/home/user>$ cat /home/user/.vnc/aura.domain.com:1.log
/packages/run/vnc-4.1.2/Xvnc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/home/user/.vnc/xstartup: line 4: xsetroot: command not found
/home/user/.xsession: line 15: xset: command not found
vncconfig: unable to open display "aura.domain.com:1"
/home/user/.xsession: line 42: xmodmap: command not found
Module xv
Module modules
Module viewers
Module WindowMaker-0.80.2
Module mozilla
ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'mozilla'
stty: standard input: For this device invalid ioctl
wmaker: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

Hinweis: Ich habe einige Zeichenfolgen übersetzt, die auf Tschechisch angezeigt wurden (Aura führt die tschechische Version von Red Hat aus).

Rasto
quelle

Antworten:

3

Sie können versuchen, den VNC X-Server zu verwenden. Es verwendet einen nicht privilegierten Port für die Kommunikation und kann ohne Root-Rechte ausgeführt werden. Um zu vermeiden , das Gebäude von VNC herauszufinden , was Port davon die Distro Wesen in Gebrauch enthalten (es gibt eine Reihe von Optionen ist TigerVNC, OpenVNC, RealVNCusw.).

Zum Beispiel hat Fedora 17 ein tigervnc-server-minimal-Paket, das alles enthält, was Sie zum Starten eines VNC-Servers benötigen:

/usr/bin/Xvnc 
/usr/bin/vncconfig 
/usr/bin/vncpasswd 
/usr/share/man/man1/Xvnc.1.gz 
/usr/share/man/man1/vncconfig.1.gz 
/usr/share/man/man1/vncpasswd.1.gz

Laden Sie es herunter, extrahieren Sie die Binärdateien und legen Sie sie zur Vereinfachung in Ihrem Ordner ~ / bin ab.

Zuerst müssen Sie vncpasswdauf jedem System einmal ausführen , um ein Kennwort für den Zugriff auf Ihre vnc-Serverinstanz festzulegen.

Starten Sie dann den Server selbst mit dem Befehl Xvncund notieren Sie, welche Anzeige er gestartet hat (er druckt die Informationen zur Standardausgabe aus).

Dann richten Sie eine TCP-Portweiterleitung mit puttydem Port mit der Nummer ein 5900+<display number>, z. B. sollten Sie für die Anzeige :1einen Tunnel zu Port 5901 erstellen:

putty -ssh -L5901:127.0.0.1:5901 user@host

Starten Sie dann den VncViewer und stellen Sie eine Verbindung zum Display localhost:1Ihrer Windows-Box her.

Wenn Sie fertig sind, vergessen Sie nicht, den Xvnc-Server zu stoppen, damit die Ressourcen auf dem Server nicht verschwendet werden:

killall Xvnc

Der Fall der Aura ist etwas komplexer, da Sie sich nicht direkt anmelden können. Wenn einer Ihrer Server das Einstellen der Tunnel auf einen Computer im LAN zulässt, erstellen Sie einfach den richtigen Tunnel, z. B.:

putty -ssh -L5901:<ip-of-aura>:5901 user@host

Andernfalls starten Sie die SSH-Sitzung mit Aura mit Portweiterleitung von der Remote-Shell bei Aisa oder Lethe:

ssh -L5901:127.0.0.1:5901 aura
Serge
quelle
0

VNC ist nicht der einfachste Weg, ein GUI-Programm auszuführen. Es hat zusätzliche Vorteile gegenüber der Straight Remote X-Methode, z. B. das Programm nicht zu beenden, wenn die Verbindung unterbrochen wird, aber es sind mehr Programme erforderlich, die auf der Remote-Seite ausgeführt werden. Ich empfehle Xming + PuTTY oder Xming + Cygwin SSH für den einfachen Weg.

Führen Sie den Xming-Server aus, und führen Sie dann PuTTY aus, um X weiterzuleiten. Da Sie X-Programme auf Aisa ausführen können, funktioniert dieser Teil bereits. Stellen Sie sicher, dass Sie auch die X-Weiterleitung an Lether und Aura aktiviert haben.

Der Grund, warum dies bei Lethe nicht funktioniert, kann sein, dass die X-Weiterleitung deaktiviert ist oder dass einige Bibliotheken fehlen. Überprüfen Sie den Wert der DISPLAYUmgebungsvariablen in der SSH-Sitzung ( echo $DISPLAY). Sie sollten etwas wie sehen localhost:10.0. Wenn der Wert leer ist, ist die X-Weiterleitung fehlgeschlagen. Dies kann daran liegen, dass es vom Systemadministrator deaktiviert wurde. Überprüfen Sie die SSH-Serverkonfiguration, normalerweise in /etc/sshd_configoder /etc/ssh/sshd_config. Es sollte die Zeile enthalten X11Forwarding yes. Wenn dies nicht der Fall ist, bitten Sie Ihren Systemadministrator, es hinzuzufügen (dies birgt kein Sicherheitsrisiko für den Server, da der Client alle Risiken übernimmt und es trotzdem manuell eingerichtet werden kann - wenn die Option standardmäßig deaktiviert ist, ist dies nicht der Fall macht keinen Sinn, aber so ist es in der Standard-OpenSSH-Konfiguration).

Wenn die X11-Weiterleitung auf dem Server deaktiviert ist, können Sie sie möglicherweise weiterhin zum Laufen bringen, dies erfordert jedoch einige Anstrengungen. Sie müssen eine Portweiterleitung von Port 6010 auf der Remote-Seite an Port 6000 auf localhost einrichten: Port 6000+ N entspricht dem DISPLAYWert . Stellen Sie die Umgebungsvariable entsprechend ein, z. B. für Port 6010. Wenn Port 6010 für Lethe verwendet wird, wählen Sie eine andere aus. Dann müssen Sie das X-Cookie auf das Remote-System kopieren. Ich weiß nicht, wie ich den Cookie mit Xming extrahieren soll. Führen Sie auf der Serverseite Folgendes aus (die 32-stellige Hexadezimalzahl ist der Cookie-Wert).:N.0DISPLAYexport DISPLAY=localhost:10xauth add localhost:10 0123456789abcdef0123456789abcdef

Verwenden Sie für Aura SSH-Tunneling. Weisen Sie PuTTY an, eine Verbindung zu Aisa herzustellen (mit aktivierter Agent- und X11-Weiterleitung), und führen Sie dann den Befehl ssh -Xdort aus.

Gilles 'SO - hör auf böse zu sein'
quelle