OVH Cloud OVH Cloud

Informer Safari d'une connexion ssh

14 réponses
Avatar
Laurent Nguyen-Ngoc
Bonjour,

Afin d'acceder a certaines ressources, je dois passer par un serveur
ssh. J'ai bien un compte sur ce serveur, et je peux m'y connecter, par
exemple en tapant 'ssh -l login serveur' dans le terminal.

Maintenant, l'acces aux ressources en questions se fait par internet: en
fait, en etant connecte a ce serveur, je devrais pouvoir acceder a
certains sites necessitant login/pwd.

Mais, Safari (ou autre) ne semble pas conscient que je me sois logge sur
le serveur ssh. Comment faire pour l'en informer?

J'aimerais faire cela sur 2 systemes, Jaguar et Panther, si jamais il y
a des trucs specifiques.

Question annexe: y a t il moyen d'ouvrir de nouvelles fenetres a partir
du terminal? Exemple: je tape xterm et j'obtiens 'xterm Xt error: Can't
open display'.

Merci pour vos reponses

Laurent

10 réponses

1 2
Avatar
patpro ~ patrick proniewski
In article <4184c36d$0$29297$,
Laurent Nguyen-Ngoc wrote:

Bonjour,

Afin d'acceder a certaines ressources, je dois passer par un serveur
ssh. J'ai bien un compte sur ce serveur, et je peux m'y connecter, par
exemple en tapant 'ssh -l login serveur' dans le terminal.

Maintenant, l'acces aux ressources en questions se fait par internet: en
fait, en etant connecte a ce serveur, je devrais pouvoir acceder a
certains sites necessitant login/pwd.

Mais, Safari (ou autre) ne semble pas conscient que je me sois logge sur
le serveur ssh. Comment faire pour l'en informer?


tres franchement, a mon avis, ce genre de culbute est du resort du
serveur, pas du client. Je pense que ce devrait etre a lui de savoir que
tu es logue et ainsi choisir d'envoyer les headers d'authentification.
L'inverse (que tu proposes) necessite un developpement particulier dans
le navigateur ou autour (via un plugin).


Question annexe: y a t il moyen d'ouvrir de nouvelles fenetres a partir
du terminal? Exemple: je tape xterm et j'obtiens 'xterm Xt error: Can't
open display'.


xterm, une fenetre de terminal donc ? pomme-n ca marche pas ?

patpro

Avatar
Laurent Nguyen-Ngoc
Merci pour ta reponse.

patpro ~ patrick proniewski wrote:
Afin d'acceder a certaines ressources, je dois passer par un serveur
ssh. J'ai bien un compte sur ce serveur, et je peux m'y connecter, par
exemple en tapant 'ssh -l login serveur' dans le terminal.

Maintenant, l'acces aux ressources en questions se fait par internet: en
fait, en etant connecte a ce serveur, je devrais pouvoir acceder a
certains sites necessitant login/pwd.

Mais, Safari (ou autre) ne semble pas conscient que je me sois logge sur
le serveur ssh. Comment faire pour l'en informer?



tres franchement, a mon avis, ce genre de culbute est du resort du
serveur, pas du client. Je pense que ce devrait etre a lui de savoir que
tu es logue et ainsi choisir d'envoyer les headers d'authentification.
L'inverse (que tu proposes) necessite un developpement particulier dans
le navigateur ou autour (via un plugin).

OK, mais: je me logue sur le serveur ssh, puis je demarre Safari.

Comment le serveur sait-il que j'ai demarre Safari (en local, donc) et
qu'il doit l'autoriser a ouvrir certains sites? Ou plutot, comment les
sites en question savent-ils que je suis connecte sur un serveur via
lequel on peut acceder? Il semble que les deux connexions soient
independantes.

Question annexe: y a t il moyen d'ouvrir de nouvelles fenetres a partir
du terminal? Exemple: je tape xterm et j'obtiens 'xterm Xt error: Can't
open display'.



xterm, une fenetre de terminal donc ? pomme-n ca marche pas ?

Pomme-n marche pour une nouvelle fenetre de terminal. Par contre, etant

logue sur le serveur ssh (via le terminal), je tape 'netscape' et il me
dit 'xdpyinfo: unable to open display "". Error: Can't open display'
Je me disais qu'en essayant d'ouvrir un browser a partir de ma session
sur le serveur distant, mon probleme original serait resolu?

patpro



Avatar
Martin Costabel
Laurent Nguyen-Ngoc wrote:
Bonjour,

Afin d'acceder a certaines ressources, je dois passer par un serveur
ssh. J'ai bien un compte sur ce serveur, et je peux m'y connecter, par
exemple en tapant 'ssh -l login serveur' dans le terminal.

Maintenant, l'acces aux ressources en questions se fait par internet: en
fait, en etant connecte a ce serveur, je devrais pouvoir acceder a
certains sites necessitant login/pwd.

Mais, Safari (ou autre) ne semble pas conscient que je me sois logge sur
le serveur ssh. Comment faire pour l'en informer?


Je vois 2 possibilités: Soit tu lances ton navigateur sur la machine
distante avec affichage en local, soit tu passes par un tunnel ssh.

La première possibilité peut passer par vnc si tu as le droit de
l'utiliser sur la machine distante ou, plus standard, par X11:
Tu démarres ta session ssh à partir d'un shell où la variable
d'environnement DISPLAY est définie, tu lances ssh avec l'option "-X" et
tu utilises un navigateur standard sous X11 comme mozilla.

La 2e possibilité, le tunnel ssh ne marchera pas dans tous les cas, mais
s'il marche, il est très commode. Je prends un exemple concret: Le site
http://ams.u-strasbg.fr/mathscinet permet la recherche bibliographique
en maths, mais il faut un mot de passe, sauf si on arrive par un site
universitaire qui a un abonnement pour ce service. Si j'ai bien compris,
ta situation est similaire? Je fais le suivant: A partir d'une fenêtre
Terminal, je lance la commande

ssh -N -L 10080:ams.u-strasbg.fr:80

Ensuite, je pointe mon Safari local sur l'URL
http://localhost:10080/mathscinet et ça roule!

Le nombre 10080 est le même dans les deux cas, et il peut être choisi
arbitrairement entre environ 2ˆ10 et 2^16. Le nombre 80 est fixe, c'est
le port http.


J'aimerais faire cela sur 2 systemes, Jaguar et Panther, si jamais il y
a des trucs specifiques.

Question annexe: y a t il moyen d'ouvrir de nouvelles fenetres a partir
du terminal? Exemple: je tape xterm et j'obtiens 'xterm Xt error: Can't
open display'.


Il faut définir la variable d'environnement DISPLAY. Mais pourquoi des
xterm? Pomme-n ne suffit pas?

--
Martin

Avatar
patpro ~ patrick proniewski
In article <418528c0$0$3091$,
Laurent Nguyen-Ngoc wrote:

OK, mais: je me logue sur le serveur ssh, puis je demarre Safari.
Comment le serveur sait-il que j'ai demarre Safari (en local, donc) et
qu'il doit l'autoriser a ouvrir certains sites? Ou plutot, comment les
sites en question savent-ils que je suis connecte sur un serveur via
lequel on peut acceder? Il semble que les deux connexions soient
independantes.


ouaip... a la lumiere de la reponse de Martin et de ta remarque je saisi
mieux ton histoire. Je n'avais pas compris ce que tu voulais dire.
Sa reponse est pertinante donc je ne le paraphraserai pas.


xterm, une fenetre de terminal donc ? pomme-n ca marche pas ?

Pomme-n marche pour une nouvelle fenetre de terminal. Par contre, etant

logue sur le serveur ssh (via le terminal), je tape 'netscape' et il me
dit 'xdpyinfo: unable to open display "". Error: Can't open display'
Je me disais qu'en essayant d'ouvrir un browser a partir de ma session
sur le serveur distant, mon probleme original serait resolu?


cf. la reponse de Martin. Les deux process ssh et navigateur n'ont
effectivement absolument rien en commun. Il y'a confusion dans ton
esprit je pense. Une connexion ssh ne te donne aucun privilege par
rapport a tel ou tel serveur HTTP. Ce que tu souhaites faire c'est
acceder a des serveurs HTTP *en utilisant la machine distante* a la
quelle tu te connectes en SSH.


patpro


Avatar
Laurent Nguyen-Ngoc
Merci beaucoup pour ta reponse.

Martin Costabel wrote:


Je vois 2 possibilités: Soit tu lances ton navigateur sur la machine
distante avec affichage en local, soit tu passes par un tunnel ssh.

La première possibilité peut passer par vnc si tu as le droit de
l'utiliser sur la machine distante ou, plus standard, par X11:
Tu démarres ta session ssh à partir d'un shell où la variable
d'environnement DISPLAY est définie, tu lances ssh avec l'option "-X" et
tu utilises un navigateur standard sous X11 comme mozilla.

Quelles sont les valeurs a donner a cette variable DISPLAY? J'imagine

que ca ne marche pas sans X11?? (a moins que le serveur distant soit
aussi sous OSX?)
La 2e possibilité, le tunnel ssh ne marchera pas dans tous les cas, mais
s'il marche, il est très commode. Je prends un exemple concret: Le site
http://ams.u-strasbg.fr/mathscinet permet la recherche bibliographique
en maths, mais il faut un mot de passe, sauf si on arrive par un site
universitaire qui a un abonnement pour ce service. Si j'ai bien compris,
ta situation est similaire?
C'est exactement ca: je cherche a acceder a mathscinet (et autres) via

un serveur du cnrs.

Je fais le suivant: A partir d'une fenêtre
Terminal, je lance la commande

ssh -N -L 10080:ams.u-strasbg.fr:80

Ensuite, je pointe mon Safari local sur l'URL
http://localhost:10080/mathscinet et ça roule!

Le nombre 10080 est le même dans les deux cas, et il peut être choisi
arbitrairement entre environ 2ˆ10 et 2^16. Le nombre 80 est fixe, c'est
le port http.

Ca marche :)) Mais une fois dans MathSciNet, je ne peux pas recuperer

les articles a partir des liens, bien que le serveur (CNRS) soit abonne
pour la revue (chez Springer)... Il faut ouvrir un autre tunnel ssh pour
Springer ? Avec le meme nombre 10080 ou un autre ?



Question annexe: y a t il moyen d'ouvrir de nouvelles fenetres a
partir du terminal? Exemple: je tape xterm et j'obtiens 'xterm Xt
error: Can't open display'.



Il faut définir la variable d'environnement DISPLAY. Mais pourquoi des
xterm? Pomme-n ne suffit pas?

Pomme-n est OK pour un nouveau terminal, en fait j'essayais d'ouvrir un

navigateur depuis ma session sur le serveur ssh.

Merci encore

Laurent


Avatar
Laurent Nguyen-Ngoc
patpro ~ patrick proniewski wrote:

cf. la reponse de Martin. Les deux process ssh et navigateur n'ont
effectivement absolument rien en commun. Il y'a confusion dans ton
esprit je pense. Une connexion ssh ne te donne aucun privilege par
rapport a tel ou tel serveur HTTP. Ce que tu souhaites faire c'est
acceder a des serveurs HTTP *en utilisant la machine distante* a la
quelle tu te connectes en SSH.

Oui, j'avais pas tres bien explique mon probleme au depart... en fait je

suis un peu naif pour ce genre de choses. Heureusement que Martin lit
bien entre les lignes!

Merci en tout cas

Laurent

Avatar
lists
Laurent Nguyen-Ngoc wrote:

Mais, Safari (ou autre) ne semble pas conscient que je me sois logge sur
le serveur ssh. Comment faire pour l'en informer?


J'ai pas (encore) testé :
http://openvpn.sourceforge.net

--
R: Parce que ça renverse bêtement l'ordre naturel de lecture!
Q: Mais pourquoi citer en fin d'article est-il si effroyable?
R: Citer en fin d'article
Q: Quelle est la chose la plus désagréable sur les groupes de news?

Avatar
Martin Costabel
Laurent Nguyen-Ngoc wrote:

Quelles sont les valeurs a donner a cette variable DISPLAY? J'imagine
que ca ne marche pas sans X11?? (a moins que le serveur distant soit
aussi sous OSX?)


En local: Lancer X11.app, puis dans le Terminal

setenv DISPLAY :0
ou
export DISPLAY=:0

selon la confession du shell utilisé. Ensuite

ssh -X serveur

puis sur le serveur

mozilla

Ceci suppose que le serveur distant tourne sous un OS raisonnable et
qu'il est configuré de façon à permettre le 'X11 forwarding'.
[]
Ca marche :)) Mais une fois dans MathSciNet, je ne peux pas recuperer
les articles a partir des liens, bien que le serveur (CNRS) soit abonne
pour la revue (chez Springer)... Il faut ouvrir un autre tunnel ssh pour
Springer ? Avec le meme nombre 10080 ou un autre ?


C'est plus compliqué. Avec Springer, je n'ai pas réussi de faire passer
cela par un tunnel. Ils ont une procédure de vérification utilisant des
redirections et des cookies qui ne semble pas vouloir passer par un
tunnel. En principe, on peut ouvrir un autre tunnel, même plusieurs
tunnels par une seule commande, mais il faudrait connaître l'adresse du
serveur http distant. Pour chaque serveur on utilise un autre numéro de
port local.

--
Martin

Avatar
Laurent Nguyen-Ngoc
Martin Costabel wrote:
Laurent Nguyen-Ngoc wrote:

Quelles sont les valeurs a donner a cette variable DISPLAY? J'imagine
que ca ne marche pas sans X11?? (a moins que le serveur distant soit
aussi sous OSX?)



En local: Lancer X11.app, puis dans le Terminal

setenv DISPLAY :0
ou
export DISPLAY=:0

selon la confession du shell utilisé. Ensuite

ssh -X serveur

puis sur le serveur

mozilla

Ceci suppose que le serveur distant tourne sous un OS raisonnable et
qu'il est configuré de façon à permettre le 'X11 forwarding'.
[]

Hmm. Un peu complique par rapport a l'utilisation des tunnels...


C'est plus compliqué. Avec Springer, je n'ai pas réussi de faire passer
cela par un tunnel. Ils ont une procédure de vérification utilisant des
redirections et des cookies qui ne semble pas vouloir passer par un
tunnel. En principe, on peut ouvrir un autre tunnel, même plusieurs
tunnels par une seule commande, mais il faudrait connaître l'adresse du
serveur http distant. Pour chaque serveur on utilise un autre numéro de
port local.

C'est ce que j'ai essaye, et ca marche au poil.


Merci pour toutes les infos.

Laurent


Avatar
patpro ~ patrick proniewski
In article ,
Martin Costabel wrote:

C'est plus compliqué. Avec Springer, je n'ai pas réussi de faire passer
cela par un tunnel. Ils ont une procédure de vérification utilisant des
redirections et des cookies qui ne semble pas vouloir passer par un
tunnel. En principe, on peut ouvrir un autre tunnel, même plusieurs
tunnels par une seule commande, mais il faudrait connaître l'adresse du
serveur http distant. Pour chaque serveur on utilise un autre numéro de
port local.


un bon proxy, c'est quand meme vachement plus simple :-)

patpro

1 2