Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2011, 13h05   #1
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
Par défaut Problème commande SSH ne tient pas dans les processus ?

Bonjour à tous,

J'ai un système embarqué sous linux qui à la réception d'un sms envoi une commande de reverse ssh à un serveur. La commande s'exécute bien car je vois dans les processus qu'elle est bien là (commande "ps afx") mais, depuis le serveur, je n'ai pas le temps de me connecter dessus car cette commande ne dure qu'environ 5 secondes !!!
Je ne comprend pas pourquoi !


La commande créée à la réception du sms est : ssh -q -l userlocal port:localhost:hostport userserver@IPduServer


Merci d'avance pour votre aide, à bientôt !
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/02/2011, 13h29   #2
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Tu es sur de ta commande ssh ? La formulation me semble étrange...

Edit : pour être plus précis, ces 2 points m'interpellent:
1) port:localhost:hostport > si tu veux ouvrir un tunnel, je pense que -L ou -R est obligatoire non ?
2) -l userlocal et userserver@IPduServer > pour moi, c'est la même chose -l <user> et <user>@... donc tu mets l'un ou l'autre, et si tu mets les deux, mets le même nom (bon, à priori, @ a priorité sur -l mais quand même...)
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 13h33   #3
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
c'est normalement
Code :
ssh -P n°port userdistant@hostdistant "commande"
en effet
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 13h49   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par frp31 Voir le message
c'est normalement
Code :
ssh -P n°port userdistant@hostdistant "commande"
Salut,

Euh... si je ne m'abuse, "-P" (majuscule) c'est pour "scp", pour "ssh" c'est "-p" (minuscule, non ?

__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 14h12   #5
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
Re-bonjour,

merci pour vos réponses.

Je rectifie (faute de frappe), la commande est : ssh -q -R port:localhost:hostport userserver@IPduServer

Quand j'exécute cette commande en dur ça fonctionne bien.

Pour mon application, après réception d'un sms, cette commande située dans un script bash est exécutée et c'est là que j'ai le problème.
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 14h34   #6
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Ok, maintenant que ça c'est réglé , comment se fait l'authentification au serveur ssh ? Tu utilises une authentification par clé ? Si oui, est-ce que c'est bien le même user qui fait le test en ligne de commande et par bash ?

Est-ce que tu ne peux pas retirer le -q le temps des tests pour voir ce qu'il te dit (voir même ajouter -v si besoin) ?

Edit: oui zipe31, c'est bien -p pour ssh
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 14h42   #7
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
Oui authentification par clé dsa.

Le script bash a été créé en root.

En fait mon système embarqué est indépendant : il démarre et ensuite si je veux y avoir accès, j'envoie un sms, il lance le script bash avec la commande ssh.
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 15h19   #8
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
ça a l'air rigolo comme truc

si tu peux faire un ps, pourquoi ne peux tu pas voir le résultat de la commande ?

tu ne pourrais pas rediriger la sortie d'erreur vers un fichier pour voir ?

tu n'as pas d'erreurs dans les logs de ton serveur (une erreur d'authentification ou autre) ?

est-ce que tu vois la connexion arriver sur ton serveur (avec netstat par exemple) ?

tes clés dsa sont bien dans les bons dossiers (côté serveur et client) ?
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 16h00   #9
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
J'ai relié pour l'instant un clavier et un écran sur mon système embarqué donc je peux faire un ps et aussi voir le résultat de la commande :

commande : ssh -v -o StrictHostKeyChecking=no -R 2010:localhost:1222 userssh@server

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
OpenSSH_5.5p1 Debian-6, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to XXXXXX.org [XX.XX.XXX.XXX] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type 2
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu5
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'XXXXXX.org' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Offering public key: /root/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 434
debug1: read PEM private key done: type DSA
debug1: Authentication succeeded (publickey).
debug1: Remote connections from LOCALHOST:2010 forwarded to local address localhost:1222
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: remote forward success for: listen 2010, connect localhost:1222
debug1: All remote forwarding requests processed
debug1: Sending environment.
Linux PC-UBUNTU 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux
Ubuntu 10.10
 
Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/
 
0 packages can be updated.
0 updates are security updates.
 
Last login: Fri Feb 25 15:41:27 2011 from 90.84.146.180
 
userssh@PC-UBUNTU:~$
Je vois la connexion sur mon serveur avec netstat, puis je me connecte au système avec : ssh -p 2010 userlocal@localhost

Mais tout ça en dur !!!
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 16h22   #10
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Mais comment se gère le passage du sms à l'exécution de cette commande ?

Tu dis que ton script bash a été créé en root, mais comment est-il exécuté ?

Tu n'as pas moyen de le modifier pour rediriger la sortie vers un fichier de log ?

Le problème ne vient probablement pas de ta commande ou de la configuration des machines, mais de la façon dont l'ensemble tourne ! Donc il faudrait plus d'informations

Citation:
Envoyé par Alek-C Voir le message
ça a l'air rigolo comme truc

si tu peux faire un ps, pourquoi ne peux tu pas voir le résultat de ton script de la commande ?

tu ne pourrais pas rediriger la sortie d'erreur vers un fichier pour voir ?

tu n'as pas d'erreurs dans les logs de ton serveur (une erreur d'authentification ou autre) ? < je ne pense pas

est-ce que tu vois la connexion arriver sur ton serveur (avec netstat par exemple) ?

tes clés dsa sont bien dans les bons dossiers (côté serveur et client) ?
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 16h41   #11
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
Dans le fichier de configuration du programme de gestion de sms, il y a une option pour exécuter le script contenant la commande ssh.

Voila ce que donne le fichier log apres réception du sms :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
OpenSSH_5.5p1 Debian-6, OpenSSL 0.9.8o 01 Jun 2010
Pseudo-terminal will not be allocated because stdin is not a terminal.
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to XXXXX.org [XX.XX.XXX.XXX] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type 2
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu5
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'XXXXX.org' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Offering public key: /root/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 434
debug1: read PEM private key done: type DSA
debug1: Authentication succeeded (publickey).
debug1: Remote connections from LOCALHOST:2010 forwarded to local address localhost:1222
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: remote forward success for: listen 2010, connect localhost:1222
debug1: All remote forwarding requests processed
debug1: Sending environment.
Linux PC-UBUNTU 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686 GNU/Linux
Ubuntu 10.10
 
Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/
 
0 packages can be updated.
0 updates are security updates.
 
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2456, received 2648 bytes, in 0.6 seconds
Bytes per second: sent 4410.8, received 4755.6
debug1: Exit status 0
Visiblement, il y a un soucis mais je vois pas lequel ?
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 17h32   #12
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
J'ai trouvé la solution à mon problème, il suffisait de rajouter l'option -t -t dans ma commande : ssh -v -t -t -o StrictHostKeyChecking=no -R 2010:localhost:1222 userssh@server

Avec cette commande ça fonctionne bien.

Par contre, autre problème : après cette commande sur la machine distante, je lance sur le serveur ssh -p 2010 userlocal@localhost puis je suis connecté sur la machine distante.
Mais lorsque je fais un exit , la connexion établie sur la machine distante (ssh -v -t -t -o StrictHostKeyChecking=no -R 2010:localhost:1222 userssh@server) reste active !!!!!!

Comment puis je faire pour terminer cette connexion en même temps que je me déconnecte à partir du serveur.
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/02/2011, 15h11   #13
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
mis à part la tuer, je ne vois pas
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h13   #14
Membre du Club
 
Inscription : avril 2008
Messages : 499
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : avril 2008
Messages : 499
Points : 66
Points : 66
Bonjour,

En fait, j'ai trouvé une parade sur la machine distante avec la commande "netstat".

Merci à tous pour votre aide.

A bientôt !
petitclem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web