Über ssh auf Display zugreifen

yxy

Lieutenant
Registriert
Juli 2014
Beiträge
570
Hallo,

ich hoffe die Frage ist nicht total absurd.

Und zwar habe ich mich von einem Linuc-PC über ssh mit einem Linux-PC (nennen wir ihn mal fernPC) verbunden.
Nun habe ich auf dem fernPC ein Programm installiert, das eine gui öffnet.
Lokal am fernPC kann ich das nach Anmeldung problemlos öffnen.

Wenn ich das aus der Ferne über ssh versuche, kommt die Meldung:
Could not connect to display.
Was ja logisch ist, da der Desktop ja nicht über ssh übertragen wird.

Meine Frage wäre nun: Gibt es eine Möglichkeit mit der man das Programm trotzdem aus der Ferne ausführen kann und die gui zu sich übertragen lassen kann?

Danke vorab :)
 
vnc.
du musst auf dem rechner auf den du zugreifen willst einen vnc server installieren und auf den kannst du dann mit einem vnc client von dir aus zugreifen.
alternativ bei windows remote desktop
 
ssh überträgt die Display-Daten auf Wunsch. Das ist die Option X11-Forwarding.
Ergänzung ()

Die graphischen Signale werden unter Linux per X11-Protokoll per Netzwerk übertragen. Das Ziel, die IP-Adresse vom X-Server, ist in der Variable $DISPLAY enthalten. Damit ist das Programm, welches die Grafik erzeugt immer klar von dem Anzeigegerät getrennt, was physisch aber natürlich oft der gleiche Rechner ist.

Würde man diese Übertragung im Netz abfangen, wäre das eine Sicherheitslücke. Deshalb öffnet ssh einen Socket und belegt die Variable $DISPLAY mit den entsprechenden Werten, z.B. localhost:5,0 , wenn der Haken bei X11-Forwardung gesetzt ist (im putty).
Die Grafikausgabe des Programmes in der Ferne werden dann zu diesem Socket geleitet und über die ssh-Verbindung verschlüsselt zu Dir an den Rechner. Dein lokales ssh-Programm (z.B. putty) forwarded das dann zu Deinem lokalen X-Server.
 
Zuletzt bearbeitet:
Hi, danke für die Antworten.

Ich weiß nicht ob ich die nötigen Rechte für eine Installation habe (bin dort nur Benutzer mit einem home Verzeichnis und kein Administrator). Denkt ihr die vnc Lösung geht trotzdem?

Zu dem Vorschlag von Kowa: Ich benutze kein Putty, sondern die standard ssh im Linux Terminal. Weiß jemand ob es da auch die Option gibt?
 
remote-pc
Code:
$ grep X11 /etc/ssh/sshd_config
X11Forwarding yes

local-pc
Code:
ssh -XY user@remote-pc my_program_with_gui
 
yxy schrieb:
Ich benutze kein Putty, sondern die standard ssh im Linux Terminal. Weiß jemand ob es da auch die Option gibt?
man ssh
Code:
-X      Enables X11 forwarding.  This can also be specified on a per-host basis in a configuration file.
 
0x8100 schrieb:
remote-pc
Code:
$ grep X11 /etc/ssh/sshd_config
X11Forwarding yes

local-pc
Code:
ssh -XY user@remote-pc my_program_with_gui

Also 1. ist aktiv.

Bei 2. kommt: Program: not found
Ergänzung ()

Habe es jetzt nochmal versucht.

Daraufhin wurde ich aufgefordert ein Passwort einzugeben.
Wenn ich das für das normale ssh eingebe kommt:
"Premission denied, please try again"
 
Zuletzt bearbeitet:
Ok, dann liegt es vermutlich an den fehlenden Berechtigungen
 
Hast du den Dienst neugestartet, nachdem du die Option gesetzt hast...?
 
Zurück
Oben