Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/06/2016, à 12:11

Soze

Step by step vérification d'un script

Bonjour à tous,

Voilà je vous contacte car on m'a demandé de vérifier un script qui ne fonctionne plus.
En gros il fait des backups mais cela fais 5 ans qu'il n'en a plus fait.

Quels sont les étapes à faire pour voir pourquoi et comment réparer le fonctionnement du script ?

Je précise que je parle bien en dehors du code lui même !

Merci d'avance,

Soze

Plus d'info :
L'erreur que j'ai dans les logs du script :

The keychain process is not running, the processing is stopped without backup

Et voilà la partie du script qui renvoie cette erreur si une erreur est présente :

PROCESSUS=`ps -ef | grep ssh-agent | grep -cv 'grep'`

En gros ça test si le PROCESSUS est différent que 1, est si c'est différent que 1, ça revois l'erreur.

Dernière modification par Soze (Le 23/06/2016, à 12:38)

Hors ligne

#2 Le 23/06/2016, à 14:05

J5012

Re : Step by step vérification d'un script

Quels sont les étapes à faire pour voir pourquoi et comment réparer le fonctionnement du script ?
Je précise que je parle bien en dehors du code lui même !

sans avoir le code, on peut parler encore longtemps ...

Hors ligne

#3 Le 23/06/2016, à 14:06

Nairwolf

Re : Step by step vérification d'un script

Sans avoir accès au code, c'est difficile de savoir ce qui ne marche pas...

Si tu as besoin de débugger ton script tu peux lancer le script en utilisant l'option -x de cette manière :

bash -x script [arg1..] 

A voir ce thread sur Stack Overflow qui pourra t'aider.

Sinon, ce n'est pas responsable de ton problème, mais la notation

PROCESSUS=`ps -ef | grep ssh-agent | grep -cv 'grep'`

n'est plus recommandé. Il faut privilégier cette notation :

PROCESSUS=$(ps -ef | grep ssh-agent | grep -cv 'grep')

Hors ligne

#4 Le 23/06/2016, à 14:08

Watael

Re : Step by step vérification d'un script

salut,

pour être précis, la ligne copiée recherche ssh-agent dans la liste des processus actifs.

ça peut ne pas être une erreur du script, mais une modification de la configuration de la machine, ou du contexte d'exécution du script, car ssh-agent n'est pas actif !


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 23/06/2016, à 14:19

Soze

Re : Step by step vérification d'un script

Je ne pense pas que le script soit en question comme je l'ai indiqué !
Ici je reçois une erreur précise du à une situation dans le script qui le coupe !

Comme l'indique Watael ...
Par contre, je suis un peu perplexe, car j'arrive à me connecter en SSH sur la machine ..

Comment puis-je vérifier que ssh-agent est actif et comment l'activer ?

Merci !

Hors ligne

#6 Le 23/06/2016, à 14:30

Nairwolf

Re : Step by step vérification d'un script

Tu peux éventuellement retaper la commande du script pour vérifier le résultat. Même un simple "ps -ef | grep ssh-agent" devrait te permettre de vérifier si le ssh-agent tourne.

Hors ligne

#7 Le 23/06/2016, à 14:34

J5012

Re : Step by step vérification d'un script

The keychain process is not running, the processing is stopped without backup

→ paquet keychain

Hors ligne

#8 Le 23/06/2016, à 14:59

Soze

Re : Step by step vérification d'un script

J5012 a écrit :
The keychain process is not running, the processing is stopped without backup

→ paquet keychain

C'est à dire ? Dans le script il test le processus ssh agent uniquement je pense ...
Donc je ne comprends pas sad

Hors ligne

#9 Le 23/06/2016, à 15:03

Nairwolf

Re : Step by step vérification d'un script

Tu as fait :

ps -ef | grep ssh-agent

?

Hors ligne

#10 Le 23/06/2016, à 15:14

Soze

Re : Step by step vérification d'un script

Oui et j'ai obtenu ceci :

user 1755     1  0 12:33 ?        00:00:00 ssh-agent
user 1882  1821  0 15:14 pts/1    00:00:00 grep ssh-agent

Hors ligne

#11 Le 23/06/2016, à 15:30

Nairwolf

Re : Step by step vérification d'un script

Etrange... Ton ssh-agent tourne bien. Tu peux vérifier en tapant la ligne complète :

PROCESSUS=`ps -ef | grep ssh-agent | grep -cv 'grep'`; echo $PROCESSUS"

cela devrait te renvoyer 1.

Donc c'est bien conforme à ce que tu attends de ton code. Après ne pouvant pas lire le reste de ton code, c'est difficile de t'aider davantage...

Hors ligne

#12 Le 23/06/2016, à 16:22

littlejohn75

Re : Step by step vérification d'un script

Naiwolf a écrit :

Etrange... Ton ssh-agent tourne bien. Tu peux vérifier en tapant la ligne complète :

PROCESSUS=`ps -ef | grep ssh-agent | grep -cv 'grep'`; echo $PROCESSUS"
cela devrait te renvoyer 1.

Eh non !  cela devrat renvoyer une ligne contenant ss-agent

Sur une machine avec keychain

fp2x@drmas:~$ res=$(ps -edf | fgrep ssh-agent | fgrep -v grep) && echo ok || echo non
ok
fp2x@drmas:~$ echo $res
fp2x 12950 1 0 févr.23 ? 00:00:00 ssh-agent
fp2x@drmas:~$

En fait il aurait été plus judicieux de tester si on a une variable d'environnement SSH_AUTH_SOCK bien renseignée sur une bonne socket

fp2x@drmas:~$ env | fgrep SSH
SSH_AGENT_PID=12950
SSH_CLIENT=10.67.6.43 61643 22
SSH_TTY=/dev/pts/1
SSH_AUTH_SOCK=/tmp/ssh-mnBGDkAJeycM/agent.12949
SSH_CONNECTION=10.67.6.43 61643 10.67.24.196 22
fp2x@drmas:~$ ls -ls /tmp/ssh-mnBGDkAJeycM/agent.12949
0 srw------- 1 fp2x fp2x 0 févr. 23 14:41 /tmp/ssh-mnBGDkAJeycM/agent.12949
fp2x@drmas:~$

Une méthode similaire consiste à utiliser

fp2x@masime:~$ ssh-add -l
Could not open a connection to your authentication agent.
fp2x@masime:~$ ssh-add -l && echo ok || echo no agent
Could not open a connection to your authentication agent.
no agent
fp2x@masime:~$

Bref, je vous invite à tester ce genre de commandes dans le terminal qui vous sert de connexion ssh.   Testez aussi l'utilisation de keychain

fp2x@drmas:~$ fgrep keychain .bashrc
eval `keychain --eval --agents ssh id_rsa id_dsa`
fp2x@drmas:~$

Cordialement,
Regards,
Mit freundlichen Grüssen,
مع  تحياتي الخالصة
---
F. Petitjean
« Celui qui, parti de rien, n'est arrivé nulle part n'a de merci à dire à personne !! »
       Pierre Dac

Hors ligne

#13 Le 23/06/2016, à 17:14

Soze

Re : Step by step vérification d'un script

Bonjour,
J'ai testé vos commandes et voici ...

-bash-2.05b$ res=$(ps -edf | fgrep ssh-agent | fgrep -v grep) && echo ok ||echo non
ok
-bash-2.05b$ echo $res
savecol 1755 1 0 12:33 ? 00:00:00 ssh-agent
-bash-2.05b$ ssh-add -l
Could not open a connection to your authentication agent.

Hors ligne

#14 Le 23/06/2016, à 18:11

littlejohn75

Re : Step by step vérification d'un script

Très fort !  Vous avez un processus ssh-agent qui tourne, mais qui ne sert à rien puisqu'il n'a pas été lancé de telle sorte qu'il lance lui-même un nouveau shell avec lequel on interagit avec le système.

C'est compliqué à expliquer sad

Il faut d'abord comprendre que c'est un modèle client-serveur.

Normalement, vous n'intervenez que sur le système client. Vous créez une instance d'un agent qui servira de médiateur pour fournir les réponses aux demandes d'authentification venant du serveur (distant) à votre place.
Création d'une instance de l'agent

fpetitjean@drsoseng:~$ old=$$
fpetitjean@drsoseng:~$ echo $old
19984
fpetitjean@drsoseng:~$ ps -l -p 19984
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1006 19984 19983  0  80   0 -  8158 wait   pts/14   00:00:00 bash
fpetitjean@drsoseng:~$
fpetitjean@drsoseng:~$ ssh-agent bash
fpetitjean@drsoseng:~$ nnn=$$
fpetitjean@drsoseng:~$ echo $nnn
20164
fpetitjean@drsoseng:~$ ps -l -p 19984,20164
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1006 19984 19983  0  80   0 -  8158 wait   pts/14   00:00:00 bash
0 S  1006 20164 19984  0  80   0 -  8115 wait   pts/14   00:00:00 bash
fpetitjean@drsoseng:~$
fpetitjean@drsoseng:~$ echo $SSH_AUTH_SOCK
/tmp/ssh-eQLkBtIhxdPP/agent.20164
fpetitjean@drsoseng:~$ ls -ls /tmp/ssh-eQLkBtIhxdPP/agent.20164
0 srw------- 1 fpetitjean users 0 Jun 23 17:51 /tmp/ssh-eQLkBtIhxdPP/agent.20164
fpetitjean@drsoseng:~$

Chargement des clés

fpetitjean@drsoseng:~$ ssh-add -l
The agent has no identities.
fpetitjean@drsoseng:~$
fpetitjean@drsoseng:~$ ssh-add
Enter passphrase for /homes/fpetitjean/.ssh/id_rsa:
Identity added: /homes/fpetitjean/.ssh/id_rsa (/homes/fpetitjean/.ssh/id_rsa)
Identity added: /homes/fpetitjean/.ssh/id_dsa (/homes/fpetitjean/.ssh/id_dsa)
fpetitjean@drsoseng:~$ ssh-add -l
1024 1c:22:50:8a:0c:04:98:89:40:90:b9:60:2f:28:83:ab /homes/fpetitjean/.ssh/id_rsa (RSA)
1024 b6:0f:81:4e:f9:9a:a8:97:ef:52:6f:f9:d6:90:67:cb /homes/fpetitjean/.ssh/id_dsa (DSA)
fpetitjean@drsoseng:~$

Vérification

fpetitjean@drsoseng:~$ echo $SSH_AUTH_SOCK
/tmp/ssh-eQLkBtIhxdPP/agent.20164
fpetitjean@drsoseng:~$ ls -ls /tmp/ssh-eQLkBtIhxdPP/agent.20164
0 srw------- 1 fpetitjean users 0 Jun 23 17:51 /tmp/ssh-eQLkBtIhxdPP/agent.20164
fpetitjean@drsoseng:~$

Je vous laisse, j'ai une petite course à faire.

Dans mon cas, le poste client est un Windows 7 avec PuTTY/pageant  et les interactions se font dans la fenêtre PuTTy  (deux shells)

---
« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. »  (R. Devos)

Hors ligne

#15 Le 23/06/2016, à 21:14

J5012

Re : Step by step vérification d'un script

J5012 a écrit :

Quels sont les étapes à faire pour voir pourquoi et comment réparer le fonctionnement du script ?
Je précise que je parle bien en dehors du code lui même !

sans avoir le code, on peut parler encore longtemps ...

Soze, tu vois ce que je disais ?

les gens repondant vont tourner autour de ton pot pendant longtemps ...

tu devrais peut-etre verifier ton script sur le lancement de keychain ?
http://linux.die.net/man/1/keychain

Hors ligne

#16 Le 27/06/2016, à 08:49

Soze

Re : Step by step vérification d'un script

Hello à tous,

L'erreur ne serait tout simplement pas le fait que l'utilisateur qui exécute le script à un manque de droit ?
Comment je peux vérifier/arranger ça ?

Hors ligne