Frage Wie kann ich die Warnung No xauth data verhindern? gefälschte Authentifizierungsdaten für X11-Weiterleitung verwenden?


Jedes Mal, wenn ich eine SSH-Verbindung von meinem Mac zu einem Linux (Debian) initiiere, erhalte ich folgende Warnung:

No xauth data; using fake authentication data for X11 forwarding.

Dies gilt auch für Werkzeuge, die ssh verwenden, wie git oder mercurial.

Ich möchte nur eine lokale Änderung an meinem System vornehmen, um dies zu verhindern.

Hinweis: Ich habe X11-Server (XQuartz 2.7.3 (xorg-server 1.12.4)) auf meinem Mac OS X (10.8.1) und es funktioniert ordnungsgemäß, ich kann die Uhr lokal oder remote erfolgreich starten.


50
2017-08-30 14:42


Ursprung


Welchen Befehl verwendest du für ssh? - DerfK
@DerfK einfach ssh hostname aber in meinem ~/.ssh/config Ich fügte hinzu ForwardX11 yes vor einiger Zeit. Trotzdem möchte ich das hier haben. - sorin
Mit Ubuntu 16.04 LTS (August 2017) gebe ich auf. Fazit: Obwohl es den Fehler gibt, funktioniert es. ich benutze ssh -Y hostname von Linux und ssh -x hostname bei Verwendung von OpenSSH unter Windows. - SDsolar


Antworten:


Keine der veröffentlichten Lösungen funktionierte für mich. Auf meinem Client (Desktop) -System läuft macOS 10.12.5 (Sierra). Ich fügte hinzu -v zu den Optionen für die ssh Befehl und es sagte mir,

debug1: No xauth program.

was bedeutet, dass es keinen korrekten Weg zum xauth Programm. (Auf dieser Version von macOS ist der Pfad zu xauth ist nicht standardisiert.) Die Lösung bestand darin, diese Zeile hinzuzufügen /etc/ssh/ssh_config (könnte sein /etc/ssh/config in einigen Setups) oder in ~/.ssh/config (Wenn Sie keine Administratorrechte haben):

XAuthLocation /opt/X11/bin/xauth

Jetzt ist die Warnmeldung weg.


47
2017-07-04 22:19



OH MEIN GOTT. Jahre habe ich versucht, eine Lösung zu finden, und das hat funktioniert. Jahre, sage ich! Beachten Sie, dass ich dies getan habe, indem ich die Zeile unter der Zeile hinzugefügt habe Host * Eintrag in meinem ~/.ssh/config Datei statt Bearbeiten /etc/ssh/ssh_config. Die einzige Dokumentation, die ich dafür gefunden habe, war in man sshd_config. - Demitri
Das hat auch für mich funktioniert. Ich verstehe, dass XQuartz im Moment aufgrund mangelnder Finanzierung nicht gut gewartet wird. Daher denke ich, dass Portierungsprobleme weniger sind, als ich erwartet hätte. - AlanObject
Endlich funktioniert !!! - thuzhf
Auf Hoher Sierra; das ist derjenige, der auch für mich funktioniert hat. - mklein9
Beachten Sie, dass dieses Problem auftreten kann selbst wenn deine Shell xauth findet in deinem Pfad! Ich nehme an, dass der ssh-Client Ihren PATH aus Sicherheitsgründen bereinigt? - MarcH


Finde die Ursache, mein ~/.ssh/config war unvollständig, du brauchst beides:

Host *
    ForwardAgent yes
    ForwardX11 yes

Mein Fehler war, dass ich nur die ForwardX11-Option einschloss.


17
2017-08-30 14:49



Ich bin mir nicht sicher, warum dies notwendig / relevant ist. ForwardAgent wird verwendet, um zwischengespeicherte Schlüssel zuzulassen ssh-agent um mehrere verschachtelte SSH-Verbindungen zu durchlaufen. Es sollte keine Relevanz für X11 haben. Und fwiw, nach einigen, ist es keine gute Idee in Bezug auf die Sicherheit: heepei.github.io/2015/02/26/... - underscore_d
Das hört sich nicht richtig an, was hilft, die X11-Weiterleitung zu deaktivieren oder die xauth-Konfiguration zu reparieren, um sie einzurichten. Es hängt nicht mit ssh-Agenten zusammen. - eckes


Wie bereits erwähnt, scheint es so xauth auf OS X hat Yosemite auf eine alte Version zurückgegangen, die nicht mit XQuartz funktioniert $DISPLAY Rahmen:

% xauth -V
1.0.9
% xauth generate $DISPLAY .
xauth: (argv):1:  bad display name "/private/tmp/com.apple.launchd(...)/org.macosforge.xquartz:0" in "add" command

8
2018-01-07 23:47



Ich habe die gleichen Zeilen unter OS X 10.11 getestet und bekomme keinen Fehler. Immer noch die gleiche Version von XQuartz. - sorin
@guest Ihre xauth generate $DISPLAY . Befehl hat auf meinem Mac OS X High Sierra (10.13) funktioniert, und es hat meine gelöst No xauth data; using fake authentication data for X11 forwarding. pb. - SebMa


Lassen Sie Ubuntu Bash unter Windows 10 laufen ssh -X  um eine GUI-Umgebung auf einem entfernten Server zu erhalten

  • Zuerst

Installieren Sie alle folgenden Komponenten. Im Fenster, installieren Xming. Unter Ubuntu bash, benutze sudo apt install installieren ssh xauth xorg.

sudo apt install ssh xauth xorg
  • Zweite

Gehe zu dem Ordner enthält ssh_config Datei, meine ist /etc/ssh.

  • Dritte

Bearbeiten ssh_config als Administrator (USE sudo). Innerhalb ssh_config, entferne den Hash # in den Zeilen ForwardAgent, ForwardX11, ForwardX11Trustedund setze die entsprechenden Argumente auf yes.

# /etc/ssh/ssh_config

Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes
  • Fort

Im ssh_config Datei, entfernen Sie den Front-Hash # Vor Port 22 und Protocol 2, und fügen Sie auch eine neue Zeile am Ende der Datei an, um den Speicherort der xauth-Datei anzugeben. XauthLocation /usr/bin/xauth, denken Sie daran, schreiben Sie Ihren eigenen Pfad der xauth-Datei.

# /etc/ssh/ssh_config

#   IdentifyFile ...
    Port 22
    Protocol 2
#   Cipher 3des
#   ...
#   ...
    ...
    ...
    GSSAPIDelegateCredentials no
    XauthLocation /usr/bin/xauth
  • Fünfte

Jetzt sind wir fertig mit dem Editieren ssh_config speichern, wenn wir den Editor verlassen. Gehe jetzt zum Ordner ~ oder $HOME, anhängen export DISPLAY=localhost:0 zu deinem .bashrc Datei und speichern Sie sie.

# ~/.bashrc
...
...
export DISPLAY=localhost:0
  • Zuletzt

Wir sind fast fertig. Starten Sie Ihre Bash Shell neu, öffnen Sie Ihre Xming programmieren und verwenden ssh -X yourusername@yourhost. Dann genießen Sie die GUI-Umgebung.

ssh -X yourusername@yourhost

Das Problem ist auch in Ubuntu Subsystem unter Windows, und der Link ist bei

https://gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776

Hinweis: Der verlinkte Text enthält 2 Tippfehler (XauthLocaion anstatt XauthLocation)


8
2017-09-22 02:05



Die Frage betrifft nicht Windows. - kasperd
Auf MacOS ist es fast gleich, die Unterschiede sind statt Xmingsollten wir bekommen XQuartz, und das ssh_config Datei ist an einem anderen Ort, meiner ist /private/etc/ssh. - DestinyOne
Und auch die letzte Zeile für ssh_config wird sein: XAuthLocation /opt/X11/bin/xauth - DestinyOne
Bearbeiten benötigt: XauthLocaion-> XauthLocation (Diese Bearbeitung ist zu klein für mich). - echristopherson
Neben der Installation xming, ssh,xauth, und xorg (Schritt 1), das einzige, was ich brauchte, war export DISPLAY=localhost:0 - Eponymous


Es gibt einen Fehler in MacOS im Moment. Ich bin auch darauf gestoßen. Die Lösung für mich bestand darin, folgendes zu meinem .bash_profile hinzuzufügen

dispdir=`dirname $DISPLAY`
dispfile=`basename $DISPLAY`
dispnew="$dispdir/:0"
if [ -e $DISPLAY -a "$dispfile" = "org.x:0" ]; then
  mv $DISPLAY $dispnew
fi
export DISPLAY=$dispnew

Im Wesentlichen kann der Name für die Dateipipeline, die mit Ihrem X-Stamm verknüpft ist, nicht korrekt behandelt werden und muss daher korrigiert werden. :-)


2
2017-09-08 05:29



Ich bezweifle, dass dies den Fehler in GUI OS X Apps wie SourceTree beheben würde. - sorin
Bestätigt, dass es auf Sierra funktioniert, um Emacs mit X laufen zu lassen - da der Mac der Server ist. Dies sollte in Fällen, in denen sich der Client auf einem Remotecomputer befindet, weitgehend funktionieren - Mark Mullin


Einschließlich

XAuthLocation / opt / local / bin / xauth in ~ / .ssh / konfig

in meinem macOS arbeitete Sierra 10.12.6 für mich. Eine kleine Änderung von Antwort 7).


2
2017-08-01 14:45





Ich habe gerade ~ / .Xauthority (Zielcomputer) aus meinem Stammordner und ssh -X 192.168.123.1 wieder entfernt und ich arbeitete.


1
2018-04-02 10:01



Ich kann bestätigen, dass dies eine Antwort auf Mac OS Sierra 10.12.4 ist. Entfernen von ~ / .Xauthority auf SSH-Server macht den Trick: ~$ mv ~/.Xauthority ~/.Xauthority.bak  Ein neuer magischer Cookie wurde automatisch wieder in ~ / .Xauthority eingefügt, nachdem ich mich neu angemeldet habe. No Bash Scripting ist überhaupt nicht erforderlich. - Kenneth Pegasus


In meinem Fall war es das Problem von .Xauthority mit dem Magic Cookie nicht weitergeleitet, Fabby weiter http://askubuntu.com/questions/571116/ empfiehlt am 2014-11-14, um diese Zeile am Ende von .bashrc oder hinzuzufügen. Profil um die Weiterleitung von xauth keys zwischen Benutzern beim Aufruf von su zu ermöglichen:

export $(dbus-launch)

Ich habe auch vorher hinzugefügt:

export XAUTHORITY=~/.Xauthority 

um sicherzustellen, dass die Fernbedienung mit ssh -X ̍ @ aufgerufen wird.

In meinem Fall .Xauthority ist ein Symlink zum ursprünglichen Benutzer /home//.Xauthority I su von ...

  cd /home/<child_user>;ln -sf /home/<parent_user>/.Xauthority .xAuthority

mit korrekten Rechten:

  sudo chown <parent_user> /home/<parent_user>/.profile
  chmod a+rw /home/<parent_user>/.profile 

so ist es zugänglich und zu. kann auf dem lokalen Bildschirm des gesamten Proxy-Kontos Apps aktivieren und X-windowed-Ergebnisse anzeigen!

TIPP: Prüfe Xauth-Liste ... wenn Magic Cookie widerspiegelt.


1
2018-06-09 14:44