Relationalist
Anmeldungsdatum: 17. Juni 2008
Beiträge: 1131
|
Hallo. Ich kapier den Artikel "VNC" nicht. Und ich sitze jetzt da und möchte helfen und komme nicht durch, weder mit gitso noch mit xtightvnc noch mit x11vnc. Liegt es am Port 590x beim Server? Im Artikel heißt es aber, daß der Hilfesuchende nur ein Paket installieren und sonst nichts einrichten muß. Daher habe ich extra keinen Port 590x beim Server weitergeleitet. Kann ich es jetzt vergessen? Außerdem: Welche IP wird übermittelt: die des Rechners oder die des Routers? (Bei SSH ist es ja der Helfer, der die Adresse des Servers eingibt. Mit gitso ist es umgekehrt.) Im Wiki wird immer auf wieistmeineip.de verwiesen. Aber dort wird der Router gezeigt. Soll ich die IP des Routers nehmen? Vielen Dank
|
Relationalist
(Themenstarter)
Anmeldungsdatum: 17. Juni 2008
Beiträge: 1131
|
Also: der Hilfesuchende braucht keine Weiterleitung. Und: es wird grundsätzlich die IP des Routers übermittelt und eingetragen. Bleibt noch die Frage: geht Reverse VNC mit SSH ? Wahrscheinlich nicht ohne Portweiterleitung, oder?
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Folgendes braucht man für Reverse VNC:
Portweiterleitung an deinem Router (also da wo du sitzt). VNC Server im Reverse Mode bei dem wo du helfen willst, dieser muss die IP von deinem Router, also deine Public IP eintragen. Wenn eine Firewall auf deinem PC ist muss diese eingehende Verbindungen auf den VNC Port zulassen der dafür verwendet wird, war glaube ich mal Port 5500 oder sowas (bin mit da gerade nicht 100%ig sicher).
mfg Betz Stefan
|
Relationalist
(Themenstarter)
Anmeldungsdatum: 17. Juni 2008
Beiträge: 1131
|
Vielen dank, Stefan. Ich glaube, ich krieg das noch hin. Meine Idee war es erstmal, den entfernten Router über VNC (gitso) neu einzustellen und die Ports 5900 bis 5903 weiterzuleiten. Cool, das sowas geht! Leider ist mir der andere Router noch etwas fremd, so daß es noch nicht geklappt hat, die Ports wirklich aufzumachen (Onlinetest ...). Ich muß aber damit warten, bis mein Hilfeopfer wieder Zeit hat. Das mit dem reverse mode muß ich nachlesen. Ist mir neu. Danke! R.
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Relationalist schrieb: Meine Idee war es erstmal, den entfernten Router über VNC (gitso) neu einzustellen und die Ports 5900 bis 5903 weiterzuleiten.
Ne, das war falsch... wie du ja schon gemerkt hast.
Leider ist mir der andere Router noch etwas fremd, so daß es noch nicht geklappt hat...
Du kennst deinen eigenen Router nicht? Was hast du den für ein Teil? Ich habe bei mir mal nachgesehen, es ist TCP Port 5500, also müsstest du folgendes machen im Router:
Je nach Router ist der Aufbau der Weiterleitung leicht anders, beachte das du diese Portweiterleitungen nur von extern nutzen kannst. Ein Test aus dem eigenen Netz raus wird nicht funktionieren!!! mfg Betz Stefan
|
Relationalist
(Themenstarter)
Anmeldungsdatum: 17. Juni 2008
Beiträge: 1131
|
Danke, Stefan. Mein Router leitet bereits weiter: 5500. Gitso funktioniert also. x11vnc funktioniert auch. Leider weiß ich nicht, ob da verschlüsselt wird. Daher bastele ich nur noch am SSH. Das Ziel wäre: reverse mit SSH. Im Wiki sind Reverse und SSH zwei paar Stiefel. SSH wird innerhalb des normalen VNC abgehandelt. Dort aber ist die Devise, auch der Router des Servers muß weiterleiten, und zwar den Port 590x für den VNC-Desktop numero x. Mein Router ist ein Arcor-Vodafone-Zyxel 200 und der andere ist eine Fritz!Box. Ich habe mir deren Handbuch schon geholt, aber es ist mies und ich habe es halt trotzdem versucht. Und zwar über eine Gitso-Session! Ich glaube auch, meine Fehler zu kennen: man muß in der Fritzbox die Portnummer zwei mal eingeben, weil man dem Ding genau sagen muß, welchen Port an welchen Port es weiterleiten soll. Bei mir muß ich es nur einmal und wußte daher nicht Bescheid und habe Mist eingegeben. Außerdem wußte ich nicht, ob UDP oder TCP. Man könnte doch auch mal einen Port an mich weiterleiten! Am besten gleich eine große Flasche ... Danke!
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Relationalist schrieb: Leider weiß ich nicht, ob da verschlüsselt wird.
Normales VNC ist unverschlüsselt.
Das Ziel wäre: reverse mit SSH.
Auch das ist möglich, es kommt immer nur auf die Konfiguration an... So wäre dann der Ablauf:
Benutzer startet Script Script öffnet eine SSH Shell für Portforwarding auf deinem Rechner. Es wird dabei das sog. "Local Port Forward" verwendet, d.h. eine Verbindung von deinem Freund zu dir wird getunnelt. Reverse VNC wird bei deinem Freund durch das Script gestartet. Dieses Verbindet sich nicht direkt mit dir sondern mit dem Forward der SSH Verbindung. Über diesen Umweg kommt alles verschlüsselt zu dir.
Sowas sollte auch mit Windows gehen, und zwar ganz ohne Nachfrage oder Benutzerinteraktion (außer halt das Script zu starten und ne .zip zu entpacken). Unter Windows kann man Putty hierfür nehmen, unter Linux ist ssh ja eh ein Standardtool. Über SSH kannst du alles Tunneln und Weiterleiten was du willst und TCP verwendet. Du benötigst dafür nur einen Port bei dir im Router weitergeleitet, nämlich den von SSH. Alles andere wird ja über den SSH Port getunnelt. mfg Betz Stefan
|
Gain
Anmeldungsdatum: 7. Februar 2008
Beiträge: 14
|
Auch wenn sich das Problem inzwischen wahrscheinlich erledigt hat, habe heute genau an derselben Methode gearbeitet. Hier meine konkrete Lösung für alle, die eine SSH-verschlüsselte VNC-Verbindung zum Hilfesuchenden aufbauen möchten. Dabei handelt es sich um die Umsetzung der Methode von encbladexp. Prinzip: Der Hilfesuchende öffnet auf Anweisung des Helfers einen umgekehrten SSH-Tunnel in Richtung seines Rechners. Dadurch wird es für den Helfer ohne weitere Konfiguration des Routers oder der Firewall des Suchenden möglich, eine sichere VNC-Verbindung herzustellen. Der Aufwand für den Suchenden bleibt so minimal und die Fernsteuerung ist extrem sicher. Vorbereitung für den Helfer:
einen SSH-Server installieren (siehe OpenSSH) und auf Port 22 erreichbar sein. Dazu, falls vorhanden, den Router oder die Firewall entsprechend anweisen den Port 22 an den eigenen Rechner weiterzuleiten. einen Benutzer am System anlegen, mit dem sich der Hilfesuchende per SSH anmeldet um den Tunnel zu öffnen (z.B. Benutzername: maulwurf, Passwort: 1234. siehe Benutzer und Gruppen). die IP-Adresse ermitteln, über die man im Internet erreichbar ist (z.B. WieistmeineIP.de).
Vorbereitung für den Hilfesuchenden:
sudo apt-get install openssh-server && sudo /etc/init.d/ssh restart Verbindung aufbauen:
Der Helfer startet ebenfalls seinen SSH-Server, sorgt für Erreichbarkeit auf Port 22 und findet seine IP heraus. Der Ersuchende gibt folgenden Befehl im Terminal ein: ssh -N -R 5900:localhost:5900 maulwurf@IP-des-Helfersystems Hierbei entspricht maulwurf dem vom Helfer auf seinem System angelegten Konto. Möglicherweise muss nun noch mit "yes" bestätigt werden die Verbindung aufzubauen. Wenn dies erfolgreich geschieht, gibt der Ersuchende nur noch das Passwort zum erstellten Benutzerkonto (hier: 1234) ein und der Tunnel steht. Der Helfer ist nun in der Lage sich mit seinem VNC-Client über die Adresse localhost:0 zu verbinden.
Wichtig: Der Helfer sollte die Verbindung beenden, indem er den Tunnel schließt. Falls es weiterhin unerwünscht ist, einen SSH-Server auf dem Zielsystem laufen zu lassen, muss sich ebenfalls darum gekümmert werden den Dienst zu stoppen/deinstallieren.
|
Relationalist
(Themenstarter)
Anmeldungsdatum: 17. Juni 2008
Beiträge: 1131
|
Vielen Dank! 👍 Hat sich gar nicht erledigt. Hatte blos in der letzten Zeit recht viel zu tun und keine Zeit dafür. Auch muß ich mit den Leuten, die ich zu Linux gebracht habe, etwas sorgsam umgehen. Ich kann die Überläufer jetzt nicht so oft mit meinen VNC-Testläufen nerven. Die sind froh, wenn es irgendwie geht und ich ihnen irgendwie helfen kann. Für SSH haben die erstmal kein Verständnis ... Daher: SUUUPER !! 😛 Vorschlag: erweitere doch mal gleich den VNC-Artikel um diese Kombination! In diesem Thread ist ja schon der Titel irgendwie mehrfach verquer (meine Schuld!!) Tschüs!
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Der wo Hilfe braucht, benötigt keinen SSH Server. Es genügt ein reiner SSH Client. mfg Betz Stefan
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5106
|
Hallo, ich habe diese Methode nun auch aufgegriffen und versuche sie ins VNC-Wiki einzuarbeiten. Soweit ist das auch kein Problem. Was ich an der hier von Gain skizzierten Vorgehensweise noch unschön finde ist, dass es wechselseitige Aktionen von Helfer und Hilfesuchenden bedarf. Eleganter wäre folgender Ablauf: Helfer startet VNC-Viewer im Listen Modus: vncviewer -listen Hilfesuchender initiiert SSH Verbindung zum Helfersystem: ssh -t -L 5500:localhost:5500 hilflos@IP-des-Helfersystems Hilfesuchender verbindet mit VNC-Server auf Localhost: x11vnc -connect_or_exit localhost:5500
Auch das funktioniert soweit. Schön wäre es noch, wenn man den ganzen Befehlsaufruf in einem Skript unterbringt, dass dann der Hilfesuchende ausführt. Allerdings weiß ich noch nicht, wie ich das in einem Skript unterbringe. Wenn ich die beiden obigen Zeilen hintereinander in ein Skript packe, also so: ssh -t -L 5500:localhost:5500 hilflos@IP-des-Helfersystems
x11vnc -connect_or_exit localhost:5500 dann wird der zweite Befehl auf dem System des Helfers in der SSH-Sitzung ausgeführt, was natürlich nicht funktioniert. Wie kann ich dieses Problem lösen? Theoretisch würde es funktionieren, wenn man erst den VNC-Server verbinden lässt, wobei er dann natürlich auf die SSH-Verbindung warten müsste. Geht so etwas. BTW, bei der von mir gezeigten Methode wird die SSH Verbindung ja nicht "reverse" aufgebaut. Hat das irgend einen Nachteil oder ist das egal? Gruß,
Martin
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
So lange ein funktionierender SSH Tunnel zur Sicherung der Datenübertragung verwendet wird ist es egal. mfg Betz Stefan
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5106
|
Danke, für die Antwort! Habe inzwischen - nach ordentlich rumprobieren plus google - auch die Lösung als Einzeiler: ssh -f -L 5500:localhost:5500 hilflos@IP-des-Helfersystems -sleep 10; x11vnc -connect_or_exit localhost:5500 Das schöne daran ist, dass sowohl VNC-Server, als auch die SSH-Sitzung beendet werden, sobald der Helfer den VNC-Viewer beendet. Gruß,
Martin
|