1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

ssh tunnel für Apple Remote Desktop

Dieses Thema im Forum "macOS & OS X" wurde erstellt von cosmic, 30.09.08.

  1. cosmic

    cosmic Zwiebelapfel

    Dabei seit:
    29.12.05
    Beiträge:
    1.281
    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
     
  2. Katagia

    Katagia Zuccalmaglios Renette

    Dabei seit:
    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.
     
  3. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
    cosmic gefällt das.
  4. cosmic

    cosmic Zwiebelapfel

    Dabei seit:
    29.12.05
    Beiträge:
    1.281
    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 ...
     
  5. Katagia

    Katagia Zuccalmaglios Renette

    Dabei seit:
    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.
     
  6. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  7. tweidner

    tweidner Gloster

    Dabei seit:
    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
     
  8. cosmic

    cosmic Zwiebelapfel

    Dabei seit:
    29.12.05
    Beiträge:
    1.281
    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 ??
     
  9. tweidner

    tweidner Gloster

    Dabei seit:
    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
     
    cosmic gefällt das.
  10. cosmic

    cosmic Zwiebelapfel

    Dabei seit:
    29.12.05
    Beiträge:
    1.281
    Danke, das ist nett von dir ...
     
  11. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Das ist ja der Witz am Tunneling, daß man nur einen Port für ssh am Firewall geöffnet haben muß.
    Gruß Pepi
     
  12. SitzKringeL

    Dabei seit:
    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 username@host.com -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.
     
  13. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  14. cosmic

    cosmic Zwiebelapfel

    Dabei seit:
    29.12.05
    Beiträge:
    1.281
    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
     
  15. koksnutte

    koksnutte Ribston Pepping

    Dabei seit:
    13.04.05
    Beiträge:
    299
    wasn eigentlich der unterschied zwischen der "screen sharing" und der "remote management" freigabe in den sharing prefs?
     
  16. SitzKringeL

    Dabei seit:
    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?!
     
  17. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  18. smux

    smux Granny Smith

    Dabei seit:
    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 ;)
     
  19. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741

Diese Seite empfehlen