IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Problème commande SSH ne tient pas dans les processus ?


Sujet :

Linux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    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 !

  2. #2
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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...)

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    c'est normalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh -P n°port userdistant@hostdistant "commande"
    en effet

  4. #4
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Citation Envoyé par frp31 Voir le message
    c'est normalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    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.

  6. #6
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    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.

  8. #8
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    ç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) ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !!!

  10. #10
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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) ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    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.

  13. #13
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    mis à part la tuer, je ne vois pas

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

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

    Merci à tous pour votre aide.

    A bientôt !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] commande annulé n'annule pas + voir les raccourcies dans la boite de dialogue
    Par Noche dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 14/06/2012, 10h52
  2. problèmes de logique ! ne fait pas dans l'ordre.
    Par djibb dans le forum Tkinter
    Réponses: 3
    Dernier message: 29/05/2007, 17h06
  3. Problème avec recordset, il peux pas lire les type binaire
    Par deeps123 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/04/2007, 16h22
  4. Réponses: 3
    Dernier message: 30/03/2007, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo