web-dev-qa-db-fra.com

SSH -X "Avertissement: la configuration du transfert X11 non fiable a échoué: les données de la clé xauth ne sont pas générées"

Salut, j'ai un problème pour faire avancer ssh X au travail. La configuration est la suivante: ssh sur mon ordinateur Ubuntu VM de la machine hôte OSX Yosemite.

J'ai déjà installé xQuartz sur OSX, xauth sur Ubuntu et je pense avoir toutes les options correctes définies dans les fichiers ssh_config.

Je reçois le

Warning: untrusted X11 forwarding setup failed: xauth key data not generated
X11 forwarding request failed on channel 0

message lors de l'ouverture d'une connexion avec ssh -X et quand j’ai essayé d’exécuter une application X:

xterm: Xt error: Can't open display:
xterm: DISPLAY is not set

J'ai la même configuration sur mon autre ordinateur, à l'exception de Mavericks, et tout fonctionne bien. Y a-t-il quelque chose de spécifique à Yosemite qui me préoccupe?

52
sprw121

Sur macOS Sierra, je dois maintenant faire ssh -Y au lieu de ssh -X pour obtenir un affichage à partir d’une machine Linux pour fonctionner sur mon Mac.

50
Chris Jacobsen

Notez que certaines réponses incomplètes peuvent conduire à des failles de sécurité.

  1. Utiliser ssh -Y signifie ici avoir de fausses informations xauth qui sont mauvaises!
  2. ssh -X devrait fonctionner car XQuartz, une fois activé, utilise xauth. Le seul problème est que ssh recherche xauth dans /usr/X11R6/bin et sur macOS avec XQuartz, il se trouve dans/opt/X11/bin

Secure solution:

  1. Activez la première option dans l'onglet Sécurité des préférences (Cmd-,) qui permet les connexions authentifiées.

  2. Modifier ~/.ssh/config, ajouter XAuthLocation /opt/X11/bin/xauth à la configuration de l'hôte.

  3. ssh -X your_server fonctionne de manière sécurisée.

  4. Assurez-vous que xauth est installé sur l'hôte de destination.

40
Koko

J'ai reçu le même avertissement que vous après la mise à niveau vers Yosemite. Après avoir ajouté ForwardX11Trusted yes dans mon ~/.ssh/config fichier, l'avertissement a disparu.

Avez-vous les lignes suivantes dans votre ~/.ssh/config fichier pour activer le transfert Trusted X11?

Host APPROPRIATE_HOSTNAME
    ForwardX11Trusted yes
    ForwardX11 yes
    OTHER_OPTIONS
33
XValidated

J'avais déjà la dernière version de XQuartz 2.7.11 installée, mais je pense avoir également mis à jour le système d'exploitation plusieurs fois depuis. J'ai réinstallé XQuartz 2.7.11, et maintenant cela fonctionne bien.

5
Ulmo

Gilles Gouaillardet a la réponse qui a résolu cela pour moi. Éditer ~/.ssh/config pour contenir

Host *
    XAuthLocation /opt/X11/bin/xauth

et ssh -X nom_hôte fonctionne maintenant (XQuartz 2.7.11, macOS 10.4 Mojave)

2
shepster

Je viens de télécharger la dernière version de X11 et cela a encore fonctionné

0
Laurie

ForwardX11Trusted est requis même pour les connexions que vous pensez ne pas être fiables lorsque votre serveur X ne possède pas l'extension SECURITY (les serveurs Apple ont une tonne de visuels qui occupent plus de 100 lignes. Je suggère donc "xdpyinfo | grep SECURITY" pour vérifier; si ne renvoie aucune sortie, vous ne l'avez pas). Il peut y avoir d'autres raisons et exceptions, mais cela a fonctionné pour moi.

0
Stephen Turnbull