J'ai un trou de mémoire. Je viens d'installer X11 sur un mac tout neuf
et je lance une connexion ssh -X sur une machine unix. et là pas moyen
d'afficher la fenêtre de la machine distante sur mon serveur.
Il semble me souvenir qu'il fallait autoriser explicitement les
connexions à distances sur le serveur X du mac, mais je ne trouve plus
où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
FiLH
--
FiLH photography. A taste of freedom in a conventional world.
Web: http://www.filh.org e-mail filh@filh.org
FAQ fr.rec.photo : http://frp.parisv.com/
Sitafoto la photo a Bordeaux : http://sitafoto.free.fr/
Ne serait-ce pas cela : <http://www.macosxhints.com/article.php?story 050816132632951&query=X11 +forwarding>
Cette solution vise à ouvrir un bureau distant complet dans une fenêtre locale.
Si j'ai bien lu, l'ami FiLH ne cherche à ne récupérer l'affichage que d'une application donnée. C'est donc probablement un souci d'autorisation (xhost et xauth): voir http://developer.apple.com/darwin/runningX11.html section "Using ssh -X for Remote Session"
Emmanuel
Ne serait-ce pas cela :
<http://www.macosxhints.com/article.php?story 050816132632951&query=X11
+forwarding>
Cette solution vise à ouvrir un bureau distant complet dans une fenêtre
locale.
Si j'ai bien lu, l'ami FiLH ne cherche à ne récupérer l'affichage que
d'une application donnée. C'est donc probablement un souci
d'autorisation (xhost et xauth): voir
http://developer.apple.com/darwin/runningX11.html section "Using ssh -X
for Remote Session"
Ne serait-ce pas cela : <http://www.macosxhints.com/article.php?story 050816132632951&query=X11 +forwarding>
Cette solution vise à ouvrir un bureau distant complet dans une fenêtre locale.
Si j'ai bien lu, l'ami FiLH ne cherche à ne récupérer l'affichage que d'une application donnée. C'est donc probablement un souci d'autorisation (xhost et xauth): voir http://developer.apple.com/darwin/runningX11.html section "Using ssh -X for Remote Session"
Emmanuel
Eric Jacoboni
FiLH writes:
Quelqu'un aurait l'info ?
Je ne suis pas sûr d'avoir compris le sens de ta question mais, par exemple, à partir du X11 de mon mac, dans un xterm, je fais :
et une fois connecté sur la machine distante, les clients s'affichent sur le mac.
Sans passer par le canal crypté du SSH. La *bonne* solution consiste à autoriser le "forwarding X11" sur le serveur SSH distant, puis d'ouvrir une session SSH à l'aide de l'option "-X".
A partir de là, les clients X distants "voient" le serveur X local (sur le mac donc) à l'adresse "localhost". De même le serveur X local voit des tentatives de connexions provenant de "localhost", de telle sorte que le "xhost +" n'est pas nécessaire (et par effet de bord la communication X11 est cryptée par SSH).
Je ne suis pas sûr d'avoir compris le sens de ta question mais, par
exemple, à partir du X11 de mon mac, dans un xterm, je fais :
et une fois connecté sur la machine distante, les clients s'affichent
sur le mac.
Sans passer par le canal crypté du SSH. La *bonne* solution consiste à
autoriser le "forwarding X11" sur le serveur SSH distant, puis d'ouvrir
une session SSH à l'aide de l'option "-X".
A partir de là, les clients X distants "voient" le serveur X local (sur
le mac donc) à l'adresse "localhost". De même le serveur X local voit
des tentatives de connexions provenant de "localhost", de telle sorte
que le "xhost +" n'est pas nécessaire (et par effet de bord la
communication X11 est cryptée par SSH).
et une fois connecté sur la machine distante, les clients s'affichent sur le mac.
Sans passer par le canal crypté du SSH. La *bonne* solution consiste à autoriser le "forwarding X11" sur le serveur SSH distant, puis d'ouvrir une session SSH à l'aide de l'option "-X".
A partir de là, les clients X distants "voient" le serveur X local (sur le mac donc) à l'adresse "localhost". De même le serveur X local voit des tentatives de connexions provenant de "localhost", de telle sorte que le "xhost +" n'est pas nécessaire (et par effet de bord la communication X11 est cryptée par SSH).
Yannick Jestin
Il semble me souvenir qu'il fallait autoriser explicitement les connexions à distances sur le serveur X du mac, mais je ne trouve plus où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
1/ Coté client: il faut que le client ssh soit configuré de façon adéquate, soit dans $HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin). Chez moi, c'est une paire de lignes comme suit: Host server ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se peut que le réglage coté utilisateur soit insuffisant.
2/ Coté serveur: il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante: X11Forwarding yes Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de lui signaler la nouvelle configuration.
3/ une fois les deux manipulations effectuées, quand vous avez fait ssh -X server, la commande echo $DISPLAY doit afficher quelque chose comme localhost:11.0 . Si ça ne fonctionne pas, il est possible de diagnostiquer en rajoutant l'option de ligne de commande -vv ( very verbose ).
Notez que les chemains vers les fichiers de configuration correspondent aux programmes ssh de panther et tiger. Si vous utilisez le ssh de fink, ça sera dans /sw/etc/ssh/ , par exemple, et avec certaines version plus anciennes, la configuration se cache aussi dans $HOME/.ssh2/...
-- Y.
Il semble me souvenir qu'il fallait autoriser explicitement les
connexions à distances sur le serveur X du mac, mais je ne trouve plus
où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
1/ Coté client:
il faut que le client ssh soit configuré de façon adéquate, soit dans
$HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin).
Chez moi, c'est une paire de lignes comme suit:
Host server
ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se
peut que le réglage coté utilisateur soit insuffisant.
2/ Coté serveur:
il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante:
X11Forwarding yes
Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de
lui signaler la nouvelle configuration.
3/ une fois les deux manipulations effectuées, quand vous avez fait
ssh -X server, la commande echo $DISPLAY doit afficher quelque chose comme
localhost:11.0 . Si ça ne fonctionne pas, il est possible de diagnostiquer
en rajoutant l'option de ligne de commande -vv ( very verbose ).
Notez que les chemains vers les fichiers de configuration correspondent aux
programmes ssh de panther et tiger. Si vous utilisez le ssh de fink, ça sera
dans /sw/etc/ssh/ , par exemple, et avec certaines version plus anciennes, la
configuration se cache aussi dans $HOME/.ssh2/...
Il semble me souvenir qu'il fallait autoriser explicitement les connexions à distances sur le serveur X du mac, mais je ne trouve plus où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
1/ Coté client: il faut que le client ssh soit configuré de façon adéquate, soit dans $HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin). Chez moi, c'est une paire de lignes comme suit: Host server ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se peut que le réglage coté utilisateur soit insuffisant.
2/ Coté serveur: il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante: X11Forwarding yes Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de lui signaler la nouvelle configuration.
3/ une fois les deux manipulations effectuées, quand vous avez fait ssh -X server, la commande echo $DISPLAY doit afficher quelque chose comme localhost:11.0 . Si ça ne fonctionne pas, il est possible de diagnostiquer en rajoutant l'option de ligne de commande -vv ( very verbose ).
Notez que les chemains vers les fichiers de configuration correspondent aux programmes ssh de panther et tiger. Si vous utilisez le ssh de fink, ça sera dans /sw/etc/ssh/ , par exemple, et avec certaines version plus anciennes, la configuration se cache aussi dans $HOME/.ssh2/...
-- Y.
Paul Gaborit
À (at) Thu, 02 Feb 2006 16:46:36 +0100, Eric Jacoboni écrivait (wrote):
FiLH writes:
Quelqu'un aurait l'info ?
Je ne suis pas sûr d'avoir compris le sens de ta question mais, par exemple, à partir du X11 de mon mac, dans un xterm, je fais :
et une fois connecté sur la machine distante, les clients s'affichent sur le mac.
Tout l'intérêt de SSH est justement de ne plus utiliser 'xhost' et compagnie...
En X11 traditionnel (sans ssh), la client distant se connectait au serveur X11 directement (en général sur le port 6000) via un DISPLAY du genre x11.serveur.fr:0.0. Cela obligeait le serveur X11 à accepter les connexions externes (via xhost et autres) d'où problème d'authentification et donc de sécurité. De plus, il fallait indiquer au firewall qu'on acceptait ces connexions externe vers le port 6000.
En SSH, le serveur X11 n'accepte des connections qu'en local. La connexion SSH (via l'option -X -Y) crée un tunnel SSH pour X11. Le client distant se connecte à un serveur local de son point de vue (le DISPLAY est généralement localhost:10) mais ce n'est en fait qu'un point d'accès au tunnel SSH qui retransmet tout ce que le client distant transmet au serveur X11 local.
Pour répondre à la question initiale :
- Sur le mac, dans un xterm, vérifiez :
machine-local% echo $DISPLAY
Si c'est indéfini, c'est que vous n'utilisez pas un 'xterm'... Sinon, vous devriez avoir quelque chose de la forme ':0.0'.
- Puis faire :
machine-local% ssh -X machine.distante
- une fois la connexion établie, tapez :
machine-distante% echo $DISPLAY
Si vous obtenez quelque chose de la forme 'localhost:10', ça devrait fonctionner.
Si vous n'obtenez rien, c'est que la machine distante n'accepte pas le X11 forwarding. Il faut donc la paramètrer pour qu'elle l'accepte. C'est dans le fichier 'sshd_config' (qui est dans /etc sur MacOS X et beaucoup d'autre systèmes) de la machine distante qu'il faut mettre :
X11Forwarding yes
(la valeur par défaut est 'no'.) Seul l'administrateur de la machine distante peur le faire !
De plus, il existe des variantes de SSH : les dernières versions ont deux options (-X et -Y).
Si c'est deux options existent, pour plus de sécurité, la variante -X ne donne pas un accès complet au serveur X11. En revanche, l'option -Y donne un accès complet aux clients distants (via la connexion SSH).
Si, comme sur MacOS X 10.3.9, il n'existe que -X c'est alors un accès complet (comme le -Y de la variante à deux options).
Je ne sais pas ce qui est proposé sur MacOS X 10.4.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 02 Feb 2006 16:46:36 +0100,
Eric Jacoboni <jaco@neottia.net> écrivait (wrote):
FiLH <filh@filh.org> writes:
Quelqu'un aurait l'info ?
Je ne suis pas sûr d'avoir compris le sens de ta question mais, par
exemple, à partir du X11 de mon mac, dans un xterm, je fais :
et une fois connecté sur la machine distante, les clients s'affichent
sur le mac.
Tout l'intérêt de SSH est justement de ne plus utiliser 'xhost' et
compagnie...
En X11 traditionnel (sans ssh), la client distant se connectait au
serveur X11 directement (en général sur le port 6000) via un DISPLAY
du genre x11.serveur.fr:0.0. Cela obligeait le serveur X11 à accepter
les connexions externes (via xhost et autres) d'où problème
d'authentification et donc de sécurité. De plus, il fallait indiquer
au firewall qu'on acceptait ces connexions externe vers le port 6000.
En SSH, le serveur X11 n'accepte des connections qu'en local. La
connexion SSH (via l'option -X -Y) crée un tunnel SSH pour X11. Le
client distant se connecte à un serveur local de son point de vue (le
DISPLAY est généralement localhost:10) mais ce n'est en fait qu'un
point d'accès au tunnel SSH qui retransmet tout ce que le client
distant transmet au serveur X11 local.
Pour répondre à la question initiale :
- Sur le mac, dans un xterm, vérifiez :
machine-local% echo $DISPLAY
Si c'est indéfini, c'est que vous n'utilisez pas un 'xterm'... Sinon,
vous devriez avoir quelque chose de la forme ':0.0'.
- Puis faire :
machine-local% ssh -X machine.distante
- une fois la connexion établie, tapez :
machine-distante% echo $DISPLAY
Si vous obtenez quelque chose de la forme 'localhost:10', ça devrait
fonctionner.
Si vous n'obtenez rien, c'est que la machine distante n'accepte pas le
X11 forwarding. Il faut donc la paramètrer pour qu'elle
l'accepte. C'est dans le fichier 'sshd_config' (qui est dans /etc sur
MacOS X et beaucoup d'autre systèmes) de la machine distante qu'il
faut mettre :
X11Forwarding yes
(la valeur par défaut est 'no'.) Seul l'administrateur de la machine
distante peur le faire !
De plus, il existe des variantes de SSH : les dernières versions ont
deux options (-X et -Y).
Si c'est deux options existent, pour plus de sécurité, la variante -X
ne donne pas un accès complet au serveur X11. En revanche, l'option -Y
donne un accès complet aux clients distants (via la connexion SSH).
Si, comme sur MacOS X 10.3.9, il n'existe que -X c'est alors un accès
complet (comme le -Y de la variante à deux options).
Je ne sais pas ce qui est proposé sur MacOS X 10.4.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
et une fois connecté sur la machine distante, les clients s'affichent sur le mac.
Tout l'intérêt de SSH est justement de ne plus utiliser 'xhost' et compagnie...
En X11 traditionnel (sans ssh), la client distant se connectait au serveur X11 directement (en général sur le port 6000) via un DISPLAY du genre x11.serveur.fr:0.0. Cela obligeait le serveur X11 à accepter les connexions externes (via xhost et autres) d'où problème d'authentification et donc de sécurité. De plus, il fallait indiquer au firewall qu'on acceptait ces connexions externe vers le port 6000.
En SSH, le serveur X11 n'accepte des connections qu'en local. La connexion SSH (via l'option -X -Y) crée un tunnel SSH pour X11. Le client distant se connecte à un serveur local de son point de vue (le DISPLAY est généralement localhost:10) mais ce n'est en fait qu'un point d'accès au tunnel SSH qui retransmet tout ce que le client distant transmet au serveur X11 local.
Pour répondre à la question initiale :
- Sur le mac, dans un xterm, vérifiez :
machine-local% echo $DISPLAY
Si c'est indéfini, c'est que vous n'utilisez pas un 'xterm'... Sinon, vous devriez avoir quelque chose de la forme ':0.0'.
- Puis faire :
machine-local% ssh -X machine.distante
- une fois la connexion établie, tapez :
machine-distante% echo $DISPLAY
Si vous obtenez quelque chose de la forme 'localhost:10', ça devrait fonctionner.
Si vous n'obtenez rien, c'est que la machine distante n'accepte pas le X11 forwarding. Il faut donc la paramètrer pour qu'elle l'accepte. C'est dans le fichier 'sshd_config' (qui est dans /etc sur MacOS X et beaucoup d'autre systèmes) de la machine distante qu'il faut mettre :
X11Forwarding yes
(la valeur par défaut est 'no'.) Seul l'administrateur de la machine distante peur le faire !
De plus, il existe des variantes de SSH : les dernières versions ont deux options (-X et -Y).
Si c'est deux options existent, pour plus de sécurité, la variante -X ne donne pas un accès complet au serveur X11. En revanche, l'option -Y donne un accès complet aux clients distants (via la connexion SSH).
Si, comme sur MacOS X 10.3.9, il n'existe que -X c'est alors un accès complet (comme le -Y de la variante à deux options).
Je ne sais pas ce qui est proposé sur MacOS X 10.4.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Paul Gaborit
À (at) Thu, 2 Feb 2006 16:35:32 +0000 (UTC), Yannick Jestin écrivait (wrote):
1/ Coté client: il faut que le client ssh soit configuré de façon adéquate, soit dans $HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin). Chez moi, c'est une paire de lignes comme suit: Host server ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se peut que le réglage coté utilisateur soit insuffisant.
Quand vous dites 'côté client', il faut entendre 'client X11' et donc 'machine distante'. En effet, si l'adminstrateur ne l'autorise pas dans la config générale de sshd, le règlage utilisateur ne sert à rien.
2/ Coté serveur: il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante: X11Forwarding yes Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de lui signaler la nouvelle configuration.
Quand vous dites 'côté serveur', il faut entendre 'serveur X11' et donc 'machine locale'. Il ne sert strictement à rien de modifier la config de sshd sur la machine hébergeant le serveur X11 puisque rien ne passe par 'sshd' !
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 2 Feb 2006 16:35:32 +0000 (UTC),
Yannick Jestin <jestin@cena.fr> écrivait (wrote):
1/ Coté client:
il faut que le client ssh soit configuré de façon adéquate, soit dans
$HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin).
Chez moi, c'est une paire de lignes comme suit:
Host server
ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se
peut que le réglage coté utilisateur soit insuffisant.
Quand vous dites 'côté client', il faut entendre 'client X11' et donc
'machine distante'. En effet, si l'adminstrateur ne l'autorise pas
dans la config générale de sshd, le règlage utilisateur ne sert à
rien.
2/ Coté serveur:
il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante:
X11Forwarding yes
Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de
lui signaler la nouvelle configuration.
Quand vous dites 'côté serveur', il faut entendre 'serveur X11' et
donc 'machine locale'. Il ne sert strictement à rien de modifier la
config de sshd sur la machine hébergeant le serveur X11 puisque rien
ne passe par 'sshd' !
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Thu, 2 Feb 2006 16:35:32 +0000 (UTC), Yannick Jestin écrivait (wrote):
1/ Coté client: il faut que le client ssh soit configuré de façon adéquate, soit dans $HOME/.ssh/config , soit dans /etc/ssh_config (nécessite les droits d'admin). Chez moi, c'est une paire de lignes comme suit: Host server ForwardX11 yes
Je me trompe peut être, mais si c'est désactivé coté système, alors il se peut que le réglage coté utilisateur soit insuffisant.
Quand vous dites 'côté client', il faut entendre 'client X11' et donc 'machine distante'. En effet, si l'adminstrateur ne l'autorise pas dans la config générale de sshd, le règlage utilisateur ne sert à rien.
2/ Coté serveur: il faut que ça soit autorisé dans /etc/sshd_config, avec la ligne suivante: X11Forwarding yes Le service sshd est lancé à chaque tentative de connexion, donc pas besoin de lui signaler la nouvelle configuration.
Quand vous dites 'côté serveur', il faut entendre 'serveur X11' et donc 'machine locale'. Il ne sert strictement à rien de modifier la config de sshd sur la machine hébergeant le serveur X11 puisque rien ne passe par 'sshd' !
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Les deux seules fois où je l'ai fait (vu mon débit entrant, c'est injouable), tous les pirates du monde qui ne font rien qu'a m'espionner devaient être à la pêche...
Les deux seules fois où je l'ai fait (vu mon débit entrant, c'est
injouable), tous les pirates du monde qui ne font rien qu'a
m'espionner devaient être à la pêche...
Les deux seules fois où je l'ai fait (vu mon débit entrant, c'est injouable), tous les pirates du monde qui ne font rien qu'a m'espionner devaient être à la pêche...
-- Eric Jacoboni, ne il y a 1442341001 secondes
filh
FiLH wrote:
Bonjour,
J'ai un trou de mémoire. Je viens d'installer X11 sur un mac tout neuf et je lance une connexion ssh -X sur une machine unix. et là pas moyen d'afficher la fenêtre de la machine distante sur mon serveur.
Il semble me souvenir qu'il fallait autoriser explicitement les connexions à distances sur le serveur X du mac, mais je ne trouve plus où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
Bon en fait : il me semble bien qu'il a existé une version de X11 sous mac où il fallait autorisé les connexions distantes.
Mais je crois que mon pb ne venait pas de là : mon utilisatrice utilisait en fait LA version de xterm sur le serveur distant qui JUSTEMENT ne marche pas dans ce cas là.
En fait on se fait avoir a tous les coups.
FiLH qu'à pas l'air con...
P.S. Mais il me semble VRAIMENT qu'il existait une version de X11 qui avait une option pour les connexions extérieures. -- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org
FiLH <filh@filh.org> wrote:
Bonjour,
J'ai un trou de mémoire. Je viens d'installer X11 sur un mac tout neuf
et je lance une connexion ssh -X sur une machine unix. et là pas moyen
d'afficher la fenêtre de la machine distante sur mon serveur.
Il semble me souvenir qu'il fallait autoriser explicitement les
connexions à distances sur le serveur X du mac, mais je ne trouve plus
où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
Bon en fait : il me semble bien qu'il a existé une version de X11 sous
mac où il fallait autorisé les connexions distantes.
Mais je crois que mon pb ne venait pas de là : mon utilisatrice
utilisait en fait LA version de xterm sur le serveur distant qui
JUSTEMENT ne marche pas dans ce cas là.
En fait on se fait avoir a tous les coups.
FiLH qu'à pas l'air con...
P.S. Mais il me semble VRAIMENT qu'il existait une version de X11 qui
avait une option pour les connexions extérieures.
--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org
J'ai un trou de mémoire. Je viens d'installer X11 sur un mac tout neuf et je lance une connexion ssh -X sur une machine unix. et là pas moyen d'afficher la fenêtre de la machine distante sur mon serveur.
Il semble me souvenir qu'il fallait autoriser explicitement les connexions à distances sur le serveur X du mac, mais je ne trouve plus où ni comment (et google ne me semble pas très affuté sur le sujet).
Quelqu'un aurait l'info ?
Bon en fait : il me semble bien qu'il a existé une version de X11 sous mac où il fallait autorisé les connexions distantes.
Mais je crois que mon pb ne venait pas de là : mon utilisatrice utilisait en fait LA version de xterm sur le serveur distant qui JUSTEMENT ne marche pas dans ce cas là.
En fait on se fait avoir a tous les coups.
FiLH qu'à pas l'air con...
P.S. Mais il me semble VRAIMENT qu'il existait une version de X11 qui avait une option pour les connexions extérieures. -- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Roland Barthes. http://www.filh.org