• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

ssh tunnel für Apple Remote Desktop

cosmic

Zwiebelapfel
Registriert
29.12.05
Beiträge
1.286
Hallo,

irgendwie bekomme ich es nicht hin einen funktionierenden SSH Tunnel für ARD zu basteln.
Was bisher funktioniert, ist eine SSH Verbindung über das Internet zu einem DynDNS aufgelösten iMac. Also sowas wie: ssh <imac>.dynalias.net
Der Port 22 ist am Router zum iMac durchgeroutet. Möglicherweise wäre ein anderer Port aber sicherer?!

Ich habe auch schon das hier getestet, aber das klappt auch nicht:

ssh -p 2222 -L 2383:localhost:22 user@<imac>.dynalias.net

Ich komme irendwie nicht weiter.

Gruß
Klaus
 

Katagia

Zuccalmaglios Renette
Registriert
18.02.07
Beiträge
260
Ja, da passt auch nichts. Du versuchst eine SSH-Verbindung auf Port 2222 aufzubauen. Normal ist 22. Danach wird auf dem Remote Host Port 22 auf deinen lokalen Port 2383 umgeleitet.

Wenn ARD auf Port 2222 läuft, wäre eine richtige Syntax z.B.
ssh -L 2222:localhost:2222 user@server. Dann sieht es so aus, als ob ARD bei dir lokal läuft. Ist der lokale Port schon belegt, würde z.B. ssh -L 2223:localhost:2222 user@server funktionieren.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Man kann ARD nicht tunneln, da es UDP verwendet. Was möglich ist wäre VNC (5900/tcp) zu tunneln. Alternativ verwende ein VPN.
Gruß Pepi
 
  • Like
Reaktionen: cosmic

cosmic

Zwiebelapfel
Registriert
29.12.05
Beiträge
1.286
Man kann ARD nicht tunneln, da es UDP verwendet. Was möglich ist wäre VNC (5900/tcp) zu tunneln. Alternativ verwende ein VPN.
Gruß Pepi

Das ist ja mal eine konkrete Aussage. Wenn es auch sehr schade ist. Mit einem VPN Server/Client habe ich mich bisher noch nicht auseinander gesetzt. Gibt es ein leicht verständliches Tutorial? Unter OpenVPN liest sich das irgendwie ziemlich umständlich ...
 

Katagia

Zuccalmaglios Renette
Registriert
18.02.07
Beiträge
260
Ist es meiner Meinung nach auch. Ich nutze deshalb einen OpenVPN Server, weil dieser in meiner Fritzbox eingebaut ist. Bei einiem Linux Server würde ich pptpd verwendden, weil der Client in OSX und Windows eingebaut ist.
Zu OSX als Server kann ich dir nichts sagen.

Meinner Erfahrung nach lesen sich omplizierte Anleitungen zwar umständlicher, allerdings muss man dann selblst nachdenken und hat dann das System verstanden. Bei den einfachen Tutorials ist dies meistens nicht der Fall.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ob man nun PPTP, L2TP über IPSec, IPSec oder OpenVPN verwendet ist egal. Bei allen kann man tcp/udp Verbindungen verwenden. Bei einem SSH Tunnel kann man eben nur TCP Verbindungen tunnel. (Die Möglichkeit eine OpenVPN Verbindung durch einen SSH Tunnel aufzubauen erwähne ich jetzt einfach nicht.)

Mac OS X Server verwendet pppd für PPTP und L2TP über IPSec. (Kann man am Client übrigens auch konfigurieren.)

VNC über SSH zu tunneln ist sehr einfach und am Mac braucht man ab 10.4.0 aufwärts auch keinerlei Zusatzsoftware für einen VNC Server zu installieren. Ab Leo ist sogar der Client kostenlos dabei. Herz, was willst Du mehr?
Gruß Pepi
 

tweidner

Gloster
Registriert
17.10.06
Beiträge
61
Hallo
ich nutze bei mir als Client Chicken of the VNC.
Um eine sichere Verbindung zu öffnen

Tunnel aufbauen

Auf dem entfernten Rechner muss die Anmeldung über SSH als auch der VNC (Apple Remot Desktop in Systemeinstellugen) Server aktiv sein.
Die SSH Verbindung wir so konfiguriert, dass Anfragen auf einem lokalen
Netzwerkport (6666) entgegengenommen werden.
Diese werden dann verschlüsselt und an den entfernten Port (5900) weitergeleitet.

Unter NAT muss im Router der Port 5900 und ggf. 3283 weitergeleitet werden.


Die SSH Verbindung wird mit folgenden Optionen aufgebaut:

ssh -L 6666:127.0.0.1:5900 -N -l user 192.168.x.x bzw dyndns.org



Optionen:

-L erstellt den Tunnel, leitet lokalen Port 6666 auf den entfernten Port 5900 um
-N es wird kein Befehl an der entfernten Shell ausgeführt
-l die Anmeldung wird mit dem Benutzernamen (user) durchgeführt


Einträge im VNC Client

Als Host 127.0.0.1:6666 eintragen

Der VNC Client wird nun eine verschlüsselte VNC Sitzung über den SSH Tunnel aufbauen.

HTH
Thomas
 

cosmic

Zwiebelapfel
Registriert
29.12.05
Beiträge
1.286
Danke, aber welche Ports müssen jetzt am Router freigeschaltet / "geforwarded" sein?
Muß 5900 auf sein? Dann könnte ja jemand direkt versuchen über VNC eine Verbindung zu bekommen.

Klingt ggf. seltsam, aber
kann ich nicht irgendwie nur Port 22 auf haben und dann wird irgendwodurch der Datenstron auf dem entfernten Rechner von 22 wieder auf 5900 geschoben ??
 

tweidner

Gloster
Registriert
17.10.06
Beiträge
61
Hallo,

Du hast natürlich Recht.
Im Router musst Du nur den Port für ssh (22) forwarden.
Port 5900 braucht nicht eingerichtet zu werden.
Habe es gerade bei mir probiert.

HTH
Thomas
 
  • Like
Reaktionen: cosmic

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Das ist ja der Witz am Tunneling, daß man nur einen Port für ssh am Firewall geöffnet haben muß.
Gruß Pepi
 
Registriert
24.01.07
Beiträge
52
Lösung

Ich weiß, dass der Thread ewig alt ist aber da ich keine Lösung im Netz gefunden habe, schreib ich einfach mal ein grobes how-to rein:

Voraussetzung ist, dass der Client-Mac so konfiguriert ist, dass eine Steuerung im lokalen Netzwerk (ohne ssh) möglich ist. Diese wird beibehalten.
Des weiteren sollte der ssh-Server nach eigenen Bedürfnissen konfiguriert sein.

1. ssh-port eures Routers auf die IP-Adresse des ssh-Servers forwarden. Standard ist 22, wenn anders konfiguriert dann entsprechend hier und folgend anpassen.

2. ssh-Tunnel aufbauen.
Entweder...
übers Terminal mit

ssh -p 22 [email protected] -L 13283:localhost:3283 -L 15900:localhost:5900

wobei
-p 22 den Port des ssh-Servers angibt
-L den Tunnel öffnet von lokalenport:host_des_entfernten_mac:remoteport
hier ist zu erwähnen, dass 3283 und 5900 die Ports des entfernten ARD-Clients sind, 13283 und 15900 die von mir gewählten lokalen Ports. Hier sollte man nicht die Standard-Ports nehmen, da diese für das LAN erhalten bleiben sollten.
„localhost“ steht für die IP des Macs im LAN des ssh-Servers, wenn dieser auf dem selben Rechner läuft, der gesteuert werden soll, muss „localhost“ genommen werden, da OS X mit dem Standard 127.0.0.1 ein Problem zu haben scheint. Ist dies nicht der Fall, die LAN-IP des anzusteuernden Clients angeben.

Oder...
einfacher, mit diesem genialen Programm:
SSH Tunnel Manger
http://www.versiontracker.com/dyn/moreinfo/macosx/16840

3. ARD konfigurieren (Ich benutze Version 3.3)
ARD starten, unter „Alle Computer“ im Menü über
Ablage/Nach Adresse hinzufügen... eine manuelle Konfiguration vornehmen:
Beschreibung z.B. localhost
Adresse: 127.0.0.1 (entspricht dem localhost des ARD-Admin-Macs an dem ihr sitzt, zu dem wir die Ports getunnelt haben)
Port für „Entfernte Verwaltung“: am Bsp 13283
Port für Bildschirmfreigabe: am Bsp 15900
Anmeldung: username am zu steuernden Mac
Kennwort: entsprechend username



Fertig, steuern, viel Spaß!

Warum jetzt der Aufwand?
Der Vorteil liegt darin, dass ihr nicht dutzende Löcher in die Firewall eures Routers bohren müsst, sondern einzig und allein den für SSH, was IMHO keine verkehrte Sache ist.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Da haben sich ein paar Fehler eingeschlichen…

ARD (Apple Remote Desktop) kannst Du nicht über [tt]ssh[/tt] tunneln, da es über UDP geht. Den Part mit [tt]-L 13283:localhost:3283[/tt] kann man also getrost beim SSH Commando weglassen.

Grundsätzlich genügt es wenn der VNCd auf [tt]localhost[/tt] lauscht! Der muß im LAN garnicht erreichbar sein. Man kann also durchaus auch dem AppFirewall sagen, daß VNC keine Netzwerkverbindungen von aussen annehmen darf.


Port 22 ist der Standard Port von [tt]ssh[/tt]. Ich kann jedoch dringend davon abraten diesen Port im Internet freizugeben! Dank automatisierter scanning und attack Skripte hat man mit Glück nur die Logfiles voll mit tausenden Angriffen pro Tag, mit Pech eine geknackte Kiste. Wie gut ist das Passwort des Users den wirklich? Das kann sehr, sehr schnell schief gehen! Daher unbedingt einen anderen Port verwenden. Beispielsweise 10022 oder 34562 oder sonstwas über 1024.
Die Angabe [tt]-p 22[/tt] muß man dann mit dem entsprechenden Port versehen!


Der SSH Tunnel Manager ist völlig unnötig, man kann alle Angaben bequemst in der [tt]~/.ssh/config[/tt] eintragen, dann genügt ein [tt]ssh servernickname[/tt] und man ist verbunden mit allen Optionen die man haben will. (Vom Compression, die ich remote übrigens unbedingt einsetzen würde, bis zu multiplen Port Forwardings und anderen esoterischen Optionen kann man dort alles bequem hinterlegen.)


Wenn man das oft braucht und sich nicht so gut auskennt wäre Jollys Fast VNC als Client zu empfehlen, dort kann man direkt bei der VNC Connection nämlich auch ein SSH Tunneling mit angeben. Ansonsten ist der ScreenSharing Client von Mac OS X wirklich wunderbar, weil sehr schnell was den Bildschirmaufbau angeht. Dieser unterstützt auch die neuere (sicherere) Authentifizierungsmethode die Mac OS X seit 10.5 anbietet. (Versus legacy VNC Authentication.)


Nur für VNC muß man auch nur ein Loch in den Firewall bohren, da ist noch kein Vorteil für SSH zu sehen. Der wirkliche Vorteil liegt in enorm erhöhter Sicherheit! Erstens stehen 2 Passworteingaben davor, die man durchaus mit unterschiedlichen Passwörtern/Usern realisieren kann. (Zweimal das selbe Passwort wäre schließlich keine verbesserte Sicherheit) und zweitens läuft alles verschlüsselt ab! Man kann also weder die Übertragung des Bildschirminhaltes (und damit der dort dargestellten Informationen) mitsniffen, noch die getätigten Eingaben über Maus und Tastatur.


Wer öfter mal was Fernsteuern muß ist sicherlich gut bedient wenn er sich [tt]ssh[/tt] genauer ansieht! Speziell bei Servern ist in den meisten Fällen garkein GUI notwendig.
Gruß Pepi
 

cosmic

Zwiebelapfel
Registriert
29.12.05
Beiträge
1.286
SUUUPER GUT.
Letztens hatte ich doch glatt meine versöhnliche Doku verlegt in der ich mir das alles schon mal notiert hatte. Jetzt habe ich ja wieder eine neue Version. ;)

Danke!

Gruß
Klaus
 

koksnutte

Ribston Pepping
Registriert
13.04.05
Beiträge
299
wasn eigentlich der unterschied zwischen der "screen sharing" und der "remote management" freigabe in den sharing prefs?
 
Registriert
24.01.07
Beiträge
52
@pepi:
die ersten zwei Absätze leuchten mir leider nicht ein, liegt wahrscheinlich an mangelndem Hintergrundwissen meinerseits.

mit dem Standardport für ssh hast du natürlich Recht, danke das hab ich nicht bedacht (aber jetzt in meiner eigenen Konfiguration umgehend zu ändern beschlossen)

von den service nicks bei ssh wusste ich auch nichts. Aber ich nehme an, das es dazu keine GUI gibt?!
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ist doch alles begründet worden. Über [tt]ssh[/tt] kann man nur TCP Verbindungen tunneln, ARD verwendet UDP, ergo kann das nicht funktionieren.

VNC muß keine Netzwerkverbindungen von außen akzeptieren können, da man über einen [tt]ssh[/tt] Tunnel nicht von außen kommt sondern übers Loopback Interface.

Was für ein GUI brauchst Du um zwei Textdateien zu editieren?
Gruß Pepi
 

smux

Granny Smith
Registriert
15.10.06
Beiträge
14
Hi Pepi,
hättest nicht mal lust hier eine Schritt für Schritt Anleitung zu posten, wie man über einen Tunnel VNC verfügbar macht? Ich bekomme es einfach nicht hin.

Bei mir zu Hause läuft ein Mac Mini mit Snow Leopard und aktiverten Screen Sharing sowie Remote Login. Vom Arbeitsplatz (Windows XP) aus komme ich nur mit Port 22 raus und möchte mich eben mit dem Mini per VNC verbinden.

Auf das Terminal von meinem Mini kann ich bereits vom Arbeitsplatz zugreifen. Der Port ist also bereits korrekt weitergeleitet. Doch leider klappt das irgendwie mit dem Tunnel nicht.

Wäre echt supi wenn du hier mal für Anfänger ;) posten könntest, wie man den Mac einzurichten hat um einfach über den Port 22 VNC zu tunneln. Vielleicht seh ich auch nur den Wald vor lauter Bäumen nicht ;)