Quitter le forum et retourner au site

ssh: DISPLAY not set - bug SSH quand IPV6 désactivé

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 719
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

ssh: DISPLAY not set - bug SSH quand IPV6 désactivé

Message par le Manchot Masqué »

La variable d'environnement DISPLAY sert à diriger la sortie graphique soit sur l'ordinateur local, soit à distance.
Comme pour toute autre variable d'environnement du shell, on utilise la commande pour avoir la liste des variables actives.

SSH est le successeur de telnet, et permet de se connecter en sécurité à des serveurs distants, et même de copier des fichiers/dossiers de machine à machine avec scp, mais ça, c'est une autre histoire...

En général, quand on veut se connecter à un serveur SSH, on utilise la commande

Code : Tout sélectionner

ssh -XY utilisateur@ip_ou_nom_machine
Je vous laisse consulter les pages d'aide via

Code : Tout sélectionner

man ssh
pour les autres options courantes...

Pour pouvoir afficher en local la sortie graphique distante d'un programme lancé via SSH, le fichier /etc/ssh/sshd_config côté serveur doit contenir :

Code : Tout sélectionner

X11Forwarding yes
X11DisplayOffset 10
auxquelles on rajoute parfois

Code : Tout sélectionner

PermitRootLogin yes
pour se connecter directement en root... C'est pas bien côté sécurité... Mais tout le monde le fait !;)

On peut alors tester la liaison en lançant un simple

Code : Tout sélectionner

xclock
côté serveur ou tout autre programme.

Problème : on se retrouve parfois sans variable DISPLAY côté serveur, et là : c'est le drame !

En fait, le problème vient de la désactivation de l'ipv6 côté serveur, qui semble étrangement poser des problèmes insurmontables à SSH.
Il suffit alors de rajouter la ligne

Code : Tout sélectionner

AddressFamily inet
dans /etc/ssh/sshd_config et de relancer le service

Code : Tout sélectionner

service ssh restart
Il faut ensuite se déconnecter du serveur avec la combinaison de touches

Code : Tout sélectionner

CTRL-D
puis se reconnecter. Et si tout va bien, on se retrouve enfin avec la ligne :

Code : Tout sélectionner

DISPLAY=localhost:10.0
dans les variables d'environnement !

En espérant que l'équipe SSH améliorera ce point qui est toujours casse-pied...
Répondre