ssh: DISPLAY not set - bug SSH quand IPV6 désactivé
Publié : lun. 16 nov. 2015, 21:51
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
Je vous laisse consulter les pages d'aide via
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 :
auxquelles on rajoute parfois
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
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
dans /etc/ssh/sshd_config et de relancer le service
Il faut ensuite se déconnecter du serveur avec la combinaison de touches
puis se reconnecter. Et si tout va bien, on se retrouve enfin avec la ligne :
dans les variables d'environnement !
En espérant que l'équipe SSH améliorera ce point qui est toujours casse-pied...
Comme pour toute autre variable d'environnement du shell, on utilise la commande
Code : Tout sélectionner
env
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
Code : Tout sélectionner
man ssh
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
Code : Tout sélectionner
PermitRootLogin yes
On peut alors tester la liaison en lançant un simple
Code : Tout sélectionner
xclock
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
Code : Tout sélectionner
service ssh restart
Code : Tout sélectionner
CTRL-D
Code : Tout sélectionner
DISPLAY=localhost:10.0
En espérant que l'équipe SSH améliorera ce point qui est toujours casse-pied...