web-dev-qa-db-fra.com

configuration du transfert X11 sur ssh

J'essaie de configurer le transfert x11 pour surveiller la vidéo sur une plate-forme robotique intégrée, mais je n'arrive pas à obtenir la carte pour générer une sortie graphique. J'utilise Arch Linux sur un Beagleboard xM câblé directement sur Ethernet (cependant, je prévois d'utiliser le WiFi à l'avenir). Lorsque j'essaie de définir la variable DISPLAY, il l'accepte, mais lorsque j'essaie d'exécuter une application x11, il est dit:

(Object:287): Gtk-WARNING **: cannot open display: [displaynamehere]

de toute évidence, [displaynamehere] était tout ce que j'essayais de définir comme affichage, mais aucun emplacement d'affichage ne semblait fonctionner. Ce qui est bizarre, c'est que chaque fois que je me connecte via ssh -X, cela ne me donne aucune erreur et ne sauvegarde pas ma variable DISPLAY.

(EDIT) J'ai également vérifié le journal de débogage et obtenu cette sortie:

debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 315
debug2: parse_server_config: config /etc/ssh/sshd_config len 315
debug3: /etc/ssh/sshd_config:53 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:75 setting ChallengeResponseAuthentication no
debug3: /etc/ssh/sshd_config:96 setting UsePAM yes
debug3: /etc/ssh/sshd_config:101 setting X11Forwarding yes
debug3: /etc/ssh/sshd_config:104 setting PrintMotd no 
debug3: /etc/ssh/sshd_config:108 setting UsePrivilegeSeparation sandbox     
debug3: /etc/ssh/sshd_config:124 setting Subsystem sftp /usr/lib/ssh/sftp-server
debug1: sshd version OpenSSH_6.3, OpenSSL 1.0.1e 11 Feb 2013
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type RSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_Host_rsa_key" as a RSA1 public key
debug1: private Host key: #0 type 1 RSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type DSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_Host_dsa_key" as a RSA1 public key
debug1: private Host key: #1 type 2 DSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type ECDSA
debug3: Incorrect RSA1 identifier
debug3: Could not load "/etc/ssh/ssh_Host_ecdsa_key" as a RSA1 public key
debug1: private Host key: #2 type 3 ECDSA
debug1: rexec_argv[0]='/usr/bin/sshd'
debug1: rexec_argv[1]='-ddd'
debug3: oom_adjust_setup
Set /proc/self/oom_score_adj from 0 to -1000
debug2: fd 3 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug2: fd 3 setting O_NONBLOCK
debug3: sock_set_v6only: set socket 3 IPV6_V6ONLY
debug1: Bind to port 22 on ::.
Server listening on :: port 22.

Toutes les suggestions seraient grandement appréciées, j'essaie de le faire avec google depuis presque une semaine maintenant, en vain.

Merci beaucoup!

15
SuperUser320

Sur le serveur

Éditer /etc/ssh/sshd_config:

AllowAgentForwarding yes
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

Redémarrez le démon sshd:

Sudo service sshd restart
# or
Sudo /etc/init.d/ssh restart
# or whatever way of restarting your box services works on your distro...

yum -y update xauth
apt-get -y update xauth
yum -y install xauth
apt-get -y install xauth

Quittez maintenant le serveur:

exit

Sur le client

Définissez la variable d'environnement DISPLAY localement:

export DISPLAY=:0.0

et démarrez une connexion SSH approuvée au serveur:

ssh -Y $ssh_user@$ssh_server

Vérifiez le succès avec une application graphique. Installez une application prenant en charge le transfert X11, si nécessaire. Par exemple:

yum -y install xclock

et action:

for i in {1..3} ; do bash -c "xclock &" ; done ;
28
Yordan Georgiev

Chaque fois que j'ai eu ce problème, il s'agissait presque toujours de suivre deux options, je pense que vous devriez les définir comme ci-dessous avant d'apporter d'autres modifications à votre configuration comme la définition de DISPLAY, etc.

X11Forwarding yes
X11UseLocalhost no
1
Baris Demiray

ssh devrait régler l'AFFICHAGE automatiquement. suspects habituels: "X11Forwarding yes" manquant dans/etc/ssh/sshd_config

Pour déboguer, vous pouvez exécuter le mode verbeux sur le client et le serveur et vous pouvez remarquer quelque chose: essayez du côté "serveur" (mode débogage, pas de démon)

$ /usr/sbin/sshd -d -p 222

sur le "client":

$ ssh -v -Y [email protected] -p 222

De temps en temps, je rencontre une chose étrange, comme "xauth manquant" ...

1
phil_w