Forum: PC Hard- und Software UltraVNC durch SSH (putty) getunnelt, Detailfragen


von qwertz (Gast)


Lesenswert?

Hallo, gestern hab ich es dank Eurer Hilfe geschafft, auf einen kleinen 
Linux-Server per SSH zuzugreifen. Der Linux-Server steht bei mir zu 
Hause hinter einer FitzBox, ich habe den SSH-Server und die Portfreigabe 
auf 443 eingestellt, den root deaktiviert und die Kennwörter geändert.

Nun kann ich mich also (freu) von einem entfernten Windows-PC aus mit 
Putty auf die Kommandozeile verbinden. Nun habe ich gelesen, dass man 
eine X-session durch das SSH tunneln kann. Auf dem Server läuft ein 
Debian, also was muss ich alles tun, um die GUI von dem Server hier am 
Windows-PC zu sehen?

Also was ich schon gemacht habe:

- UltraVNC auf dem PC installiert
- auf dem Server läuft schon ein vnc-server, der wird mit dieser Zeile 
gestartet:

/usr/bin/vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565

(das 565 kommt mir komisch vor)


Fragen:
1) muss ich zu Hause auf der Fritzbox einen weiteren Port außer 443 
freigeben? Ich denke nicht, denn es soll ja "getunnelt" werden?

2) Wie muß ich Putty / UltraVNC einstellen und starten, damit es 
funktioniert (Hat jemand einen Link mit Muster/Erklärung)? Das mit dem 
Port weiterleiten auf PC-Seite hab ich noch nicht ganz kapiert..

3) Kann ich die SSH-Kommandozeile trotzdem benutzen (so wie jetzt im 
Moment), auch wenn ich die VNC-Session damit tunneln will?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

ssh -L 5901:localhost:5901 <servername>

Die Session ist standardmäßig dabei interaktiv.  Dein VNC verbindest
du danach gegen VNC-Server ":1" auf der Maschine, auf der auch die
(Client-)SSH läuft.

qwertz schrieb:
> (das 565 kommt mir komisch vor)

Ist schon OK.  Wenn mit mit 16 bit per pixel arbeiten will, kann
man halt das "überschüssige" Bit (16 ist nicht durch 3 teilbar)
einer der Farben zuschlagen.  Da das Auge für grün am empfindlichsten
ist, ist 565 die sinnvollste Aufteilung.

Alternative wäre -depth 24 (sofern supported) oder -depth 32, aber
dann sind mehr Daten zu übertragen.

von qwertz (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> ssh -L 5901:localhost:5901 <servername>

Aber diese Zeile müsste ich ja dem Putty (auf dem Windows-PC) 
beibringen, oder? Wie? :-)

von D. I. (Gast)


Lesenswert?

qwertz schrieb:
> Jörg Wunsch schrieb:
>> ssh -L 5901:localhost:5901 <servername>
>
> Aber diese Zeile müsste ich ja dem Putty (auf dem Windows-PC)
> beibringen, oder? Wie? :-)

SSH -> Tunnels im Menü unter conncetion

von qwertz (Gast)


Lesenswert?

Ich muss nochmal etwas weiter ausholen, habe gerade gemerkt, dass ich 
von einem PC im gleichen Netz aus (auch) keine VNC Session starten kann.

also der wie oben gestartete vncserver hat Nummer :1 und wird beim 
Systmstart mit gestartet. Wenn ich mich mit diesem verbinden will, kommt 
als Fehlermeldung:

"Failed to connect to server!"

Wenn ich einen zusätzlichen vncserver starte (meinetwegen wie oben auf 
:3) , will er beim Verbinden ein Kennwort haben - woher nehmen und nicht 
stehlen??

gebe ich irgendwas ein, steht da
"Authentication failed", wenn ich nichts eingeben steht
"empty password"

Warum fragt mich der :1 nicht nach dem Passwort, und wo bekomme ich das 
her/wie setze ich das (ggf zurück)?

von Ich (Gast)


Lesenswert?

Ganz anderer Weg: Cygwin installieren und dann ssh -X (X-Forwarding) ... 
mir persönlich ist diese ganze VNC-Geschichte immer unsympathisch ;-)

von Tom (Gast)


Lesenswert?

Evtl ist kein Passwort gesetzt, also einfach mal OK klicken.

Oder mit vncpasswd das Passwort ändern.

von Plong A. (Gast)


Lesenswert?

Putty kann doch auch X11 forwarding. Man braucht lediglich einen X 
Server fuer Windows - z.B. Xming - installieren. 
http://sourceforge.net/projects/xming/

von qwertz (Gast)


Lesenswert?

Ich schrieb:
> Ganz anderer Weg: Cygwin installieren und dann ssh -X (X-Forwarding) ...
> mir persönlich ist diese ganze VNC-Geschichte immer unsympathisch ;-)

Soll mir recht sein, solange ich die gleiche GUI zu sehen bekomme wie 
mit vncserver (war halt das Erste, was mit über den Weg lief..) braucht 
man dann Windows-PC-seitig kein Putty? bzw. wo trägt man das ssh -X ... 
dann ein?

Tom schrieb:
> Evtl ist kein Passwort gesetzt, also einfach mal OK klicken.
bei :3 siehe oben, bei :1 habe cih dei Change gar nicht (die Abfrage 
kommt am PC nicht)

Plong A. schrieb:
> Putty kann doch auch X11 forwarding. Man braucht lediglich einen X
> Server fuer Windows - z.B. Xming - installieren.
> http://sourceforge.net/projects/xming/

Sehe ich dann PC-seitig die gleiche GUI wie mit vncserver? Wo ist der 
Unterschied?

von Malte S. (maltest)


Lesenswert?

qwertz schrieb:
> Sehe ich dann PC-seitig die gleiche GUI wie mit vncserver? Wo ist der
> Unterschied?
Nein, damit startest du GUI-Programme, die auf dem Rechner zuhause 
laufen, aber direkt auf der Windows-Kiste angezeigt werden.
Wenn du die bestehende Session remoten willst, brauchst du x0vncserver 
oder das VNC-Modul für den X-Server. Sonst kriegst du zwar eine 
vollständige Desktop-Session per VNC, aber das ist mitnichten dieselbe, 
die du zeitgleich zuhsuse auf dem Schirm hast.

von Plong A. (Gast)


Lesenswert?


von qwertz (Gast)


Lesenswert?

Plong A. schrieb:
> dazu gibts doch massenhaft dokumentation im internet.
> http://www.ollis-place.de/2009/02/28/x11-forwardin...
> http://www.math.umn.edu/systems_guide/putty_xwin32.html
> http://www.tacticalcode.de/2013/02/x11-forwarding-...

Danke für die Links, das mit dem forwarding hab ich jetzt glaub ich 
verstanden.

Aber ich hätte gerne einen den kompletten Desktop mit Menüleiste etc. 
und nicht nur einzelne Programm mit GUI - deswegen bleibt noch die 
Frage, wie ich mit meinem vncserver weiterkomme  wie ich das debuggen  
hinbekommen kann kann..?

von Malte S. (maltest)


Lesenswert?

Zur Authentifizierung:
- Mit vncpasswd eine Passwortdatei generieren
- Beim Start des VNC Servers die Verwendung dieser Datei angeben.
Wie das genau beim Ultra geht, bin ich nicht sicher, viel nehmen die 
sich da nicht. Beim tigervnc wäre das PasswordFile=...

qwertz schrieb:
> Aber ich hätte gerne einen den kompletten Desktop mit Menüleiste etc.

Der kleine Fehler, der sich da eingeschlichen hat ist leider 
entscheidend: willst du einen oder den Desktop?
Einen kriegst du mit vncserver. Den i.S.v. den Desktop der bereits 
lokal laufenden Session kriegst du mit x0vncserver.

von qwertz (Gast)


Lesenswert?

Malte S. schrieb:
> Der kleine Fehler, der sich da eingeschlichen hat ist leider
> entscheidend: willst du einen oder den Desktop?

Also EIN Desktop reicht mir, es muss nicht der sein, der schon läuft. 
Aber eben auch nicht einzelne Programme in X-Fenstern.

Es ist mir auch gleich, welches Tool - es sollte eben nur ein Teil auf 
dem Linux als server laufen und ein "Viewer" unter Windows. Mehr will 
ich ja gar nicht.. :-)

Sind andere Tools einfacher für die o.g. Aufgabe? (ggf. welche?)

von Malte S. (maltest)


Lesenswert?

Nein, ich denke für die üblichen Anwendungsfälle ist VNC da schon 
richtig.
Ohne Garantie: versuche es mal mit PassworfFile=... (vollständiger Pfad 
zur von vncpasswd generierten Datei), um dem Server ein Passwort 
mitzugeben.

von Icke ®. (49636b65)


Lesenswert?

VNC unter Linux ist ein Krampf. Ich nutze es zur Fernverwaltung eines 
VM-Hostes (Debian). Solange ich nicht an der Konsole eine X-Session 
gestartet habe/hatte, funktioniert es aber. Folgende Notizen habe ich 
mir seinerzeit gemacht:

x11vnc so einrichten, daß es vor dem Login startet.

#x11vnc installieren
apt-get install x11vnc

#Passwortdatei anlegen
x11vnc -storepasswd "password" /etc/x11vnc.pass

#gdm konfigurieren, damit der initiierende Client nach dem Login nicht 
wieder getrennt wird
editiere /etc/gdm/Init/Default ,in der Section [daemon] einfügen:
KillInitClients=false

#x11vnc automatisch starten
editiere /etc/gdm/gdm.conf ,füge am Ende (vor "exit 0") ein:
/usr/bin/x11vnc -rfbauth /etc/x11vnc.pass -forever -bg -noxfixes

von qwertz (Gast)


Lesenswert?

Also ich habe Fortschritte erreicht, im lokalen Netz kann ich mich 
anmelden, sofern ich mit einem eingeloggten Benutzer die o.g. Zeile 
eingebe und einen anderen Screen verwende:

vncserver :4 -geometry 1024x768 -depth 16 -pixelformat rgb565

Ich habe ein neues Passwortfile mit vncpasswd generiert, was dann für 
diese Session bei diesem Linux-Nutzer benutzt wird (standardmäßig unter 
$HOME/.vnc/...) So weit, so gut.

Nun wurde beim Systemstart ebenfalls diese Zeile (mit Pfad) aufgerufen, 
und zwar im Script /etc/init.d ein script "vncboot". Dieses habe ich 
deaktiviert mit

update-rc.d vncboot disable. Danach (weiß nicht mehr genau) habe ich 
versucht den wieder zu aktivieren (nicht gut, wenn man was versucht, was 
man nicht versteht.. :-)

Also was ich gerne als nächstes lösen / verstehen würde:

1) mit welchem User läuft dieses Script beim booten -> demzufolge wo 
liegt die passende passwd-Datei und wie editiere ich die? Und wie kann 
ich das am besten debuggen - also wo geht die Standardausgabe hin / wie 
kann ich das später nochmal sehen? der vncserver "sagt" ja beim Starten, 
welche passwd-Datei er benutzt..

und

2) wie prüfe ich (ohne neu zu starten, also analytisch, nicht try and 
error), ob das vncbot beim booten aufgerufen werden soll? ICh hab schon 
ein bsichen gegoogelt und weiß: in der /etc/inittab steht als 
standard-runlevel die 2.

Dann: Unter /ect/rc2.d müsste es eine Datei (ein Link?) S02vncboot geben 
- gibt es aber nicht - wie bekomme ich die wieder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.