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 :

KSH, coprocess et SSH


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Par défaut KSH, coprocess et SSH
    Bonjour,

    Je veux me connecter à un routeur Cisco via SSH grâce à un coprocess d'un script KSH(j'utilise ce code dans une boucle mais peu importe):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ssh -T -l login 192.168.2.82|&
     
    sleep 5
    print -p "password"

    Le routeur me dit que le mot de passe est éronné: "Permission denied, please try again." Je me demande si ce n'est pas un problème d'entrée/sortie standard. A priori mon print -p n'envoie pas "password".

    Merci par avance.
    Sylvain

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Ben essaye echo.

    Essaye aussi la syntaxe << parce que cette syntaxe "|&" je ne la connais pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ssh ... <<_EOT_
    echo password
    _EOT_
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Par défaut
    Sous KSH, |& permet de faire tourner un process en background de façon asyncrhone tout en pouvant toujours communiquer avec lui via print et read. (ressource: http://benjaminevans.net/files/unix_...crib_sheet.pdf et http://b62.tripod.com/doc/docksh.htm et

    J'ai donc essayé ta syntaxe, j'avoue n'avoir pas compris pourquoi se servir de EOF, voila ce que ça me donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ssh -T -l login 192.168.2.82 <<_EOT_                                                                                                                                                            
        echo "password"                                                                                                                                                                                          
    _EOT_
    Cependant le routeur m'indique toujours que le mot de passe est erroné.

    merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Par défaut
    J'ai continué mes tests. Ce qui est bisare c'est qu'avec un Telnet cela fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    telnet 192.168.2.82|&
     
     sleep 5
     print -p "login"
     print -p "password"

    Sauf que c'est une connexion SSH que je veux

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par C4N4rD Voir le message
    J'ai donc essayé ta syntaxe, j'avoue n'avoir pas compris pourquoi se servir de EOF
    La syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    commande << marqueur_de_fin
    ...
    ...
    ...
    marqueur_de_fin
    transforme tout ce qui se trouve entre "<<" et "marqueur_de_fin" comme entrée de la commande et remplace donc l'entrée standard jusqu'à ce que le shell trouve le marqueur qui doit être seul sur sa ligne.

    Le choix du marqueur est libre donc j'utilise "_EOT_" (End Of Text) avec des underscores pour être certain qu'il ne puisse pas y avoir conflit avec le texte utilisé comme stdin.

    Je te dirais bien d'essayer un truc de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cat << _EOT_
    login
    password
    _EOT_ |ssh -T -l login 192.168.2.82
    Mais si ta syntaxe fonctionne avec telnet, c'est que ça vient pas de la syntaxe mais seulement de ssh...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Mais si ta syntaxe fonctionne avec telnet, c'est que ça vient pas de la syntaxe mais seulement de ssh...
    A priori le problème vient de SSH, j'ai lu sur un blog que l'auteur avait essayé de communiquer avec SSH en coprocess via du C++ et qu'il n'avait pas réussi (http://girtby.net/archives/2006/12/1...-of-reentrant/). Après avoir posé la question sur plusieurs forum et fouillé Google, rien de positif ne vient.

    Je pense que je vais devoir m'orienter vers autre chose, mais à priori SSH est un peu pénible à manier dans un script. Sachant que je veux communiquer avec du matos réseau comme en autre des routeur Cisco, pas moyen de leur coller une clé publique et donc d'outre passer la demande de mot de passe de la connexion SSH.(à priori on peut faire quelque chose avec expect)

    Mon but est de faire du déploiement de configuration massive sur du matériel réseau, via Telnet c'est OK mais via SSH je ne vois pas comment faire...

    Des idées?

Discussions similaires

  1. connexion ssh dans un script ksh
    Par don'de dans le forum Linux
    Réponses: 4
    Dernier message: 21/01/2008, 10h50
  2. [RESEAUX] SSH / Telnet et serveur X
    Par KORTA dans le forum Administration
    Réponses: 32
    Dernier message: 26/06/2007, 15h20
  3. SSH ou SSL ?
    Par R3iTt0R dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 28/07/2004, 13h04
  4. Ssh
    Par jere dans le forum Réseau
    Réponses: 4
    Dernier message: 11/05/2004, 14h51
  5. [cvs] Jbuilder 9, Cvs Via Ssh Sous Windows
    Par SurfingPoP dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/02/2004, 15h57

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