j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas
devant mon iMac.
est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de
manière disatnte, par ssh ???
--
« Les femmes ont raison de se rebeller contre les lois parce que
nous les avons faites sans elles. »
(Michel de Montaigne)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
patpro ~ Patrick Proniewski
In article <1k3o66t.1tds1d0128mqkgN%, (Une Bévue) wrote:
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
quand tu te connectes en SSH, des variables d'environnement sont créées qui s'appellent SSH_* et qui indiquent différentes choses :
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le terminal courant. Tu peux donc te servir d'une de ces trois variable pour déterminer si tu es dans une session ouverte via SSH.
In article <1k3o66t.1tds1d0128mqkgN%unbewusst.sein@fai.invalid>,
unbewusst.sein@fai.invalid (Une Bévue) wrote:
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas
devant mon iMac.
est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de
manière disatnte, par ssh ???
quand tu te connectes en SSH, des variables d'environnement sont créées
qui s'appellent SSH_* et qui indiquent différentes choses :
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le
terminal courant.
Tu peux donc te servir d'une de ces trois variable pour déterminer si tu
es dans une session ouverte via SSH.
patpro
--
Je cherche à changer d'air -> http://www.patpro.net/cv
In article <1k3o66t.1tds1d0128mqkgN%, (Une Bévue) wrote:
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
quand tu te connectes en SSH, des variables d'environnement sont créées qui s'appellent SSH_* et qui indiquent différentes choses :
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le terminal courant. Tu peux donc te servir d'une de ces trois variable pour déterminer si tu es dans une session ouverte via SSH.
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le terminal courant. Tu peux donc te servir d'une de ces trois variable pour déterminer si tu es dans une session ouverte via SSH.
OK, pigé, merci beaucoup !!!
-- « Les femmes ont raison de se rebeller contre les lois parce que nous les avons faites sans elles. » (Michel de Montaigne)
patpro ~ Patrick Proniewski <patpro@boleskine.patpro.net> wrote:
quand tu te connectes en SSH, des variables d'environnement sont créées
qui s'appellent SSH_* et qui indiquent différentes choses :
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le
terminal courant.
Tu peux donc te servir d'une de ces trois variable pour déterminer si tu
es dans une session ouverte via SSH.
OK, pigé, merci beaucoup !!!
--
« Les femmes ont raison de se rebeller contre les lois parce que
nous les avons faites sans elles. »
(Michel de Montaigne)
Ces variables n'existent pas si tu n'es pas connecté via SSH dans le terminal courant. Tu peux donc te servir d'une de ces trois variable pour déterminer si tu es dans une session ouverte via SSH.
OK, pigé, merci beaucoup !!!
-- « Les femmes ont raison de se rebeller contre les lois parce que nous les avons faites sans elles. » (Michel de Montaigne)
YBM
Une Bévue a écrit :
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
J'imagine que MacOS X est livré avec le ps BSD, pas sûr que ça passe, mais le principe est adaptable (vérifier que le processus parent a comme nom sshd), le ps de GNU est peut-être planqué dans un coin de l'arborescence sinon...
Une Bévue a écrit :
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas
devant mon iMac.
est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de
manière disatnte, par ssh ???
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps
de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ]
then
echo ssh
else
echo pas ssh
fi
J'imagine que MacOS X est livré avec le ps BSD, pas sûr que ça
passe, mais le principe est adaptable (vérifier que le processus
parent a comme nom sshd), le ps de GNU est peut-être planqué dans
un coin de l'arborescence sinon...
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
J'imagine que MacOS X est livré avec le ps BSD, pas sûr que ça passe, mais le principe est adaptable (vérifier que le processus parent a comme nom sshd), le ps de GNU est peut-être planqué dans un coin de l'arborescence sinon...
unbewusst.sein
YBM wrote:
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
bon, j'essaie ca au term. déjà je dois remplacer le 'comm' par command : iBook:~/bin yt$ ps -p $PPID -o command login -pf yt
ca c'est la réponse en "local" en distant j'obtiens ; imyt-2-% ps -p $PPID -o command /usr/sbin/sshd -i
donc reste plus qu'à comparer...
je suppose; intuitivement que je dois écrire qqc comme : if [ "$(ps -p $PPID -o command=)" = "/usr/sbin/sshd -i" ] meme blahblah ?
YBM <ybmess@nooos.fr.invalid> wrote:
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ]
then
echo ssh
else
echo pas ssh
fi
bon, j'essaie ca au term.
déjà je dois remplacer le 'comm' par command :
iBook:~/bin yt$ ps -p $PPID -o command
login -pf yt
ca c'est la réponse en "local" en distant j'obtiens ;
imyt-2-% ps -p $PPID -o command /usr/sbin/sshd -i
donc reste plus qu'à comparer...
je suppose; intuitivement que je dois écrire qqc comme :
if [ "$(ps -p $PPID -o command=)" = "/usr/sbin/sshd -i" ]
meme blahblah
?
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
bon, j'essaie ca au term. déjà je dois remplacer le 'comm' par command : iBook:~/bin yt$ ps -p $PPID -o command login -pf yt
ca c'est la réponse en "local" en distant j'obtiens ; imyt-2-% ps -p $PPID -o command /usr/sbin/sshd -i
donc reste plus qu'à comparer...
je suppose; intuitivement que je dois écrire qqc comme : if [ "$(ps -p $PPID -o command=)" = "/usr/sbin/sshd -i" ] meme blahblah ?
unbewusst.sein
YBM wrote:
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
bon; je trouve que ce script ne marche pas, pour deux raisons ;
la premiere est que; dans ce script, la réponse à ps -p $PPID -o command= est tout simplement : -bash car on est dans un script bash; ensuite il faut "chomper" le résultat car en réalité on a la string "n-bash"
ce qui marche chez moi; en distant sur mac os x 10.3.9 :
iBook:~/bin yt$ cat bash_test #!/bin/sh
truc=`ps -p $PPID -o command=` truc=`echo $truc`
if [ $truc = "-bash" ] then echo "Je suis lance par bash" else echo "Je NE suis PAS lance par bash" fi
la ligne "truc=`echo $truc`" servant à "chomper" le résultat de la commande
donc question; comment savoir qui a lancé ce script login ou sshd ???
c'est juste pour ma comprenotte vu que le truc donné par Patrick marche tres bien et est facilement adaptable à ruby, mon scrptage préféré...
YBM <ybmess@nooos.fr.invalid> wrote:
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps
de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ]
then
echo ssh
else
echo pas ssh
fi
bon; je trouve que ce script ne marche pas, pour deux raisons ;
la premiere est que; dans ce script, la réponse à ps -p $PPID -o
command=
est tout simplement :
-bash
car on est dans un script bash; ensuite il faut "chomper" le résultat
car en réalité on a la string "n-bash"
ce qui marche chez moi; en distant sur mac os x 10.3.9 :
iBook:~/bin yt$ cat bash_test
#!/bin/sh
truc=`ps -p $PPID -o command=`
truc=`echo $truc`
if [ $truc = "-bash" ]
then
echo "Je suis lance par bash"
else
echo "Je NE suis PAS lance par bash"
fi
la ligne "truc=`echo $truc`" servant à "chomper" le résultat de la
commande
donc question; comment savoir qui a lancé ce script login ou sshd ???
c'est juste pour ma comprenotte vu que le truc donné par Patrick marche
tres bien et est facilement adaptable à ruby, mon scrptage préféré...
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
bon; je trouve que ce script ne marche pas, pour deux raisons ;
la premiere est que; dans ce script, la réponse à ps -p $PPID -o command= est tout simplement : -bash car on est dans un script bash; ensuite il faut "chomper" le résultat car en réalité on a la string "n-bash"
ce qui marche chez moi; en distant sur mac os x 10.3.9 :
iBook:~/bin yt$ cat bash_test #!/bin/sh
truc=`ps -p $PPID -o command=` truc=`echo $truc`
if [ $truc = "-bash" ] then echo "Je suis lance par bash" else echo "Je NE suis PAS lance par bash" fi
la ligne "truc=`echo $truc`" servant à "chomper" le résultat de la commande
donc question; comment savoir qui a lancé ce script login ou sshd ???
c'est juste pour ma comprenotte vu que le truc donné par Patrick marche tres bien et est facilement adaptable à ruby, mon scrptage préféré...
TK
Le 30/06/11 09:56, Une Bévue a écrit :
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
Un if [ "$SSH_CONNECTION" ] ... devrait faire l'affaire si le script en question est en *sh.
Le 30/06/11 09:56, Une Bévue a écrit :
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas
devant mon iMac.
est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de
manière disatnte, par ssh ???
Un if [ "$SSH_CONNECTION" ] ... devrait faire l'affaire si le script en
question est en *sh.
j'ai un script que j'utilise quelquefois par ssh quand je ne suis pas devant mon iMac. est-ce que, depuis ce script, il y a moyen de savoir s'il a été lancé de manière disatnte, par ssh ???
Un if [ "$SSH_CONNECTION" ] ... devrait faire l'affaire si le script en question est en *sh.
YBM
Une Bévue a écrit :
YBM wrote:
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ] then echo ssh else echo pas ssh fi
bon; je trouve que ce script ne marche pas, pour deux raisons ;
la premiere est que; dans ce script, la réponse à ps -p $PPID -o command= est tout simplement : -bash
ça c'est curieux... très curieux même. Bash n'est pas le nom du processus parent du script, mais le processus du script lui-même.
à moins qu'il ne soit lancé par un autre script.
bref si les variables d'environnements SSH* font le boulot, c'est suffisant.
Une Bévue a écrit :
YBM <ybmess@nooos.fr.invalid> wrote:
Je n'ai pas de Mac OS X sous la main, mais ceci fonctionne avec le ps
de GNU :
#!/bin/sh
if [ "$(ps -p $PPID -o comm=)" = "sshd" ]
then
echo ssh
else
echo pas ssh
fi
bon; je trouve que ce script ne marche pas, pour deux raisons ;
la premiere est que; dans ce script, la réponse à ps -p $PPID -o
command=
est tout simplement :
-bash
ça c'est curieux... très curieux même. Bash n'est pas le nom du
processus parent du script, mais le processus du script lui-même.
à moins qu'il ne soit lancé par un autre script.
bref si les variables d'environnements SSH* font le boulot, c'est
suffisant.