SSH in Vagabund mit X-Server eingerichtet

9

Ich habe Probleme beim Einrichten der X11-Weiterleitung auf vagrant VM.

Ich führe Xming für X-Server und PuTTY als meinen SSH-Client.

Das bekomme ich, wenn ich vagrant ssh-config :

starte %Vor%

My PuTTY hat die X11-Weiterleitung aktiviert und den X-Anzeigeort auf 0.0 gesetzt.

Wenn ich echo $DISPLAY mache, bekomme ich keine Antwort.

Ich bin unsicher, was ich falsch konfiguriert habe. Ich folgte dem folgenden Rat beim Einrichten meines PuTTY-Clients. Wenn es eine einfachere Möglichkeit gibt, VM mit X11-Weiterleitung einzurichten, lassen Sie es mich wissen.

Als Referenz sind das die Inhalte meiner Vagrantfile .

%Vor%     
Matt 20.11.2013, 11:02
quelle

3 Antworten

3

Installieren Sie Cygwin mit den folgenden Paketen, um das auf dieser Website angegebene Problem zu beheben:

>
  • xorg-server
  • xinit
  • xorg-docs (zur Dokumentation)
  • openssh (falls dies vorher nicht installiert wurde)

Laden Sie dann das Fenster mit startxwin vom Cygwin-Terminal.

Ein Hinweis, den ich später entdeckte, ist, dass es besser ist, mit dem folgenden Befehl in vagrant zu gehen:

vagrant -Y ssh

Als:

vagrant -X ssh

Letzteres wird im nicht vertrauenswürdigen Modus wie in dieser Antwort durchgeführt und nach einer Weile die Zeit abläuft.

    
Matt 03.06.2014, 11:59
quelle
6

Ich hatte ein sehr ähnliches Problem, aber in meinem Fall war es ein Problem mit der Vagrant VM. Hier sind einige Dinge zu überprüfen:

  • X11Forwarding muss auf yes in /etc/ssh/sshd_config gesetzt werden
  • Aktiviere die ausführliche Protokollierung für ssh ( vagrant ssh -- -vvv -X in Linux, Putty scheint auch ein -v Kommandozeilen-Flag zu haben) und suche nach interessanten Nachrichten.

Bei meiner Vagrant VM hat der folgende die folgende Meldung angezeigt:

%Vor%

Nach der Installation eines Pakets mit xauth ( xorg-xauth , xorg-x11-xauth oder ähnlich) funktionierte vagrant ssh -- -X einwandfrei.

    
m01 02.05.2015 11:18
quelle
1

Verwenden Sie "startxwin", um den Cygwin X Server auszuführen. Verwenden Sie putty oder den cygwin ssh-Client, um ssh auf Ihrer virtuellen Gastmaschine zu betreiben.

Wenn Sie cygwin ssh verwenden, exportieren Sie DISPLAY =: 0, bevor Sie ssh ausführen (zB "vagrant ssh - -vvv -X").

Für putty: Führe "startxwin - -listen tcp" aus, aktiviere die ssh-X11 Weiterleitung in der putty connection config, setze "X display location" auf "localhost: 0" und setze den korrekten Pfad der .Xauthority Datei ( Durchsuchen, ist es wahrscheinlich in Ihrem Home-Verzeichnis; startxwin Ausgabe wird Ihnen sagen, wo).

Vielleicht benutze msys2 ssh nicht (die vagrant Standardinstallationsumgebung ist msys2, aber vagrant funktioniert auch unter cygwin) mit dem Cygwin X Server. (Details finden Sie unter Warum?)

Details:

Wenn Sie "connect /tmp/.X11-unix/X0: Keine solche Datei oder Verzeichnis" (unter ssh verbose mode) oder Putty-Fehler "PuTTY X11 proxy: keine Verbindung zu weitergeleitetem X-Server: Netzwerkfehler: Verbindung abgewiesen ", versuchen Sie es mit tcp-Sockets und nicht mit den Standard-Unix-Domain-Sockets.

Wenn Sie Ihren Cygwin X Server starten, gehen Sie auf "X -listen tcp -multiwindow" (Multifenster ist optional - es öffnet sich für jede App ein neues Fenster).

Wenn Sie in der Befehlszeile openssh "ssh" verwenden: Bevor Sie "vagrant ssh - -vvv -X" verwenden, gehen Sie "export DISPLAY = localhost: 0" (nicht ": 0", sondern "localhost: 0") es verwendet tcp). Ich benutze git bash, die msys2 verwendet, die nicht korrekt mit meinem cygwin X-Server über emulierte Unix-Domain-Sockets zu kommunizieren scheint. Aber wenn ich "vagrant ssh - -X" unter meiner cygwin-Eingabeaufforderung (mit DISPLAY =: 0 für Unix-Domain-Sockets) verwende, funktioniert es.

Große Informationsquelle: Ссылка

Sie können auch "config.ssh.forward_x11 = true" zu Ihrer Vagrant-Datei hinzufügen. Ich denke, das setzt X11Forwarding in / etc / ssh / sshd_config, wenn die virtuelle Gastmaschine eingerichtet wird oder "vagrant reload" ausgeführt wird. - Ссылка

Update: Es wird nicht empfohlen X ohne xauth security auszuführen (wie oben gezeigt). Es ist nicht sicher. Zum Beispiel können andere Computer im selben LAN über tcp eine Verbindung zu Ihrem x-Server herstellen und Ihre Tasten drücken, indem Sie xkeys verwenden. Verwenden Sie "startxwin" anstelle von X direkt, so dass es die Option "-auth" von XWin verwendet. Das macht es schwierig für mich, meine msys2 ssh dazu zu bringen, X auf meinen cygwin X Server umzuleiten. Das ssh-Protokoll während der Verbindung besagt, dass es den xauth-Befehl nicht finden kann - weil es in meiner msys2-Umgebung nicht vorhanden ist. Cygwin ssh X-Umleitung funktioniert immer noch gut. Putty funktioniert einwandfrei, solange Sie den Dateipfad .Xauthority in der Putty-Sitzungskonfiguration (wahrscheinlich in Ihrem Home-Verzeichnis) setzen.

Ich entdeckte, dass das tcp / unix-domain Socket Problem / Lösung tatsächlich in der Cygwin-FAQ ist (diese FAQ ist ziemlich hilfreich und hat viele Informationen):

6.7. Von PuTTY weitergeleitete X-Sitzungen können keine Verbindung herstellen. Nicht-cygwin lokale X-Clients können keine Verbindung herstellen.

Der X-Server verwendet jetzt standardmäßig -nolisten tcp, wodurch die Sicherheit des X-Servers erhöht wird, indem kein TCP / IP-Socket, sondern nur ein lokaler Socket (UNIX-Domäne) geöffnet wird. Nicht-Cygwin-Anwendungen können keine Verbindung zu diesem Socket herstellen.

Ссылка

    
Curtis Yallop 31.03.2017 18:43
quelle

Tags und Links