ubuntuusers.de

sshd immer erreichbar

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

mogliii

Anmeldungsdatum:
8. Juni 2006

Beiträge: 45

Hallo,

ich habe in den letzten Tagen mit VNC rumgespielt, und weiss wie man über ssh port-forwarding eine gesicherte Verbindung aufbauen kann und port 5900 für VNC tunneln kann. Das tut allerdings nur, wenn der sshd hinter einem Router sitzt, der Port-Forwarding unterstüzt und man das einstellen kann.

Angenommen ich möchte mich nun zu einem Computer per VNC(Linux) bzw. rdekstop(Win) verbinden (nehmen wir mein Vater bei dem wieder etwas nicht tut), über SSL, ohne Router Port-forwarding, also weder bei mir noch bei dem anderen Computer. Nach meinem Verständnis bräuchte ich dazu einen Server der irgendwo im Nirvana sitzt, und der von beiden erreicht werden kann. Der kosten im Normalfall dann Geld.

Also meine Frage: 1) Geht das nur über vpn (beide verbinden sich zum proxy per vpn)?

2) Kann ich eine direkte SSL Verbindung über einen Proxy machen? D.h. auf dem einen PC läuft sshd, tightvncserver und ein kleines tool, das den Proxy alle Sekunde abklopft, ob eine Verbindung ansteht, und dann über Port 80 oder 443 die SSH Verbindung routet.

3) Kennt jemand solche Proxy-Dienste?

Mir geht es zum einen um Sicherheit, d.h. die Daten können am Proxy nicht abgegriffen werden, und zum anderen um Einfachheit. Im Prinzip will ich mein eigenes "TeamViewer"-System, incl. Skype-like firewall-Käserei.

frabron

Anmeldungsdatum:
11. Februar 2007

Beiträge: 151

Wenn du den Rechner deines Vaters aus der Ferne administrieren möchtest und der Rechner deines Vaters geht über einen Router ins Internet, dann kommst du ohne Port-Forwarding nicht weiter. Woher soll der Router deines Vaters denn sonst wissen, wohin er die Pakete, die er auf Port 22 empfängt, hinleiten soll?

Ich wüsste auch nicht, inwieweit dir da ein weiterer Rechner im Internet weiterhelfen sollte. Hast du einen Router, bei dem Port-Forwarding nicht geht?

mogliii

(Themenstarter)

Anmeldungsdatum:
8. Juni 2006

Beiträge: 45

Hallo,

port 80 wird ja immer weitergeleitet (sonst könnte man ohne Port-Forwarding nicht http-sufen). Das verwendet Skype um die Firewalls zu umgehen und Direktverbindung zwischen zwei Computern herzustellen, ohne dass sie Port-Forwarding haben. D.h. beide Computer initialisieren eine ausgehende Verbindung zum gleichen Server über port 80, und der vermittelt dann. Ich möchte das nun machen, nur dass er eben eine direkte ssh-Verbindung vermittelt.

Möglicherweise ist das aber auch eine Nummer zu groß? Immerhin braucht man dann jeweils lokal einen client der die SSH Kommunikation in http-Pakete umwandelt und umgekehrt ...

Zu Teamviewer: http://www.teamviewer.com/products/firststeps.aspx ← hat aber keine Linux version, und man kann sich nicht sicher sein ob die Daten zwischendurch nicht abgegriffen werden.

Zu Deinen Fragen: In vielen Fällen tut Port-Forwarding, bzw. man kann es einstellen. Aber wenn das nun meine technikresistente Frau ist, und gerade wo anders ist, dann wäre die von mir gewünschte Lösung schon praktisch...

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

mogliii schrieb:

port 80 wird ja immer weitergeleitet (sonst könnte man ohne Port-Forwarding nicht http-sufen).

Sorry: Das ist Quark. Du musst zwischen Client- und Server-Ports unterscheiden. Offene Ports erklärt das gut.

...ohne Router Port-forwarding...

Kannst du BEI DIR keine Portweiterleitung einrichten? Wenn doch, dann schau dir Das eigene PC-Helpdesk an.

mogliii

(Themenstarter)

Anmeldungsdatum:
8. Juni 2006

Beiträge: 45

Vielen Dank! Vor allem für den zweiten Artikel.

Und im Prinzip kann ich mich ja zuerst per vnc auf einen dedizierten Server einloggen (falls ich selbst an einer Stelle bin, wo ich keine Port-Weiterleitung habe) und von dort dann den vnc-viewer in listening mode starten. Ich werde mir diese persönliche Helpdesk einrichten!

Aber noch einmal um auf die ursprüngliche Idee von mir zurückzukommen. Sei es der Neugierde wegen...

→ Ich mache eine ausgehende Verbindung (von Computer A) über Port 80 an einen Server (B), und eine route zurück wird ausgehandelt. Über einen anderen, dynamischen Client-Port. (vergleiche Web-surfen) Ist es, oder ist es nicht, möglich über eine solche http-Verbindung eine ssh-Verbindung von einem dritten (C) Computer zum sshd auf Computer A zu erstellen?

Gruß, Mogliii

frabron

Anmeldungsdatum:
11. Februar 2007

Beiträge: 151

Theoretisch mag das möglich sein, das ist dann aber keine echte Client-Server Lösung mehr und wahrscheinlich alles andere als performant. Ohne Port-Forwarding kein aktiver Kontakt deines Rechners! D.h. kein Server kann irgendeinen Rechner hinter dem Router kontaktieren, es sei denn dein Rechner hat vorher Kontakt zu dem Rechner aufgebaut und der Router weiss mit der ankommenden Antwort etwas anzufangen.

Was allerdings denkbar ist, dass der "Problemrechner" seinen Zustand oder was auch immer auf dem Server speichert und dein Rechner den Zustand dort abholt. Das ganze müsste automatisiert geschehen, sowohl das Speichern des Zustandes als auch das Abholen. Mit den Responsezeiten ist da aber nix mehr mit Maus und Bildschirm und so zu realisieren.

mogliii

(Themenstarter)

Anmeldungsdatum:
8. Juni 2006

Beiträge: 45

Heureka!

Ich habe bereits das hier einige male angewendet (Das eigene Help-desk) allerdings mit ssh und portforwarding. D.h. ich habe bei mir einen ssh Server installiert. Der Hilfesuchende hat dann zuerst Putty (gibt es eine Portable Version, mit voreingestelltem Profil) gestartet und dann die .exe von heise.de, wobei bei server "localhost" eingetragen war.

Allerdings haben mich zwei Sachen an dem Artikel gestört: a) Man braucht einen freigeschalteten Port (in dem Fall 5500 oder 22 für ssh) und b) ist die Verbindung ist nicht verschlüsselt.

Wieso sind das Probleme? Zu a) Was ist wenn ich im Urlaub bin, Starbucks oder Bekannten? b) Paranoia

Lösung: Ich habe einen vServer im Internet gemietet. Die gibt es für ~5-10 Euro im Monat (hier z.B. vServer Starter Edition von SimplyRoot für 4,49 Euro/Monat). Somit hat man eine immer erreichbare IP incl. ssh server im Netz. Und dann:

Helpdesker ==== ssh -X ===⇒ Server ⇐=== ssh -L ==== Hilfsbedürftiger

Auf dem Server sicherstellen, dass X-Forwarding tut und zwei Benutzer anlegen. Außerdem wie in dem verlinkten Artikel beschrieben VNC Enterprise Edition installieren (wegen der Version 3.3 Geschichte)

Helpdesker (kann sowohl Linux oder Windows sein): Per ssh mit x-forwarding (bei Windows Putty und Xming installieren) verbinden. Auf dem server $ vncviewer -listen 5500 ausführen.

Hilfesuchender: Verbindet sich per ssh (bei Win mit putty) mit dem Server, verwendet dabei Port forwarding (5500:localhost:5500). Und danach nach localhost:5500 mittels des VNCServers verbinden. Also eine andere .exe in dem heise.de Portal erstellen.

Fertig.

Solange der Helpdesker Google aufrufen kann, kann er den Desktop von anderen sehen. Und das voll ssh verschlüsselt. Alternativ könnte man auch auf das ssh vom Hilfesuchenden zum Server verzichten, dann ist eben die Verbindung nur auf einer Seite verschlüsselt. Habe ich aber noch nicht ausporbiert.

Noch ein Hinweis: Um bei dem vServer von simplyroot.de das x-forwarding zu aktivieren, musste ich in der sshd_config folgendes setzten:

1
2
X11Forwarding yes
AllowTcpForwarding yes

und folgendes Paket installieren: (xterm zieht automatisch alle Abhängigkeiten mit, und kann verwendet werden um x-forwarding zu testen.

1
# apt-get install xauth xterm 

mogliii

(Themenstarter)

Anmeldungsdatum:
8. Juni 2006

Beiträge: 45

Ich habe jetzt auch ausprobiert (aber war eigentlich zu erwarten), die ssh Geschichte mit Portforwarding vom Hilfsbedürftigen zum Server wegzulassen.

Einfach für den Server einen dyndns account und ddclient configurieren, und schon erspart man dem Gegenüber die ssh Geschichte.

Jetzt kann ich auf Teamviewer pfeiffen.

Und den server kann ich auch als openvpn Knoten, ftp Server oder was auch immer benutzen.

Antworten |