Journal auto login via telnet

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
mai
2004
Bonjour,

je lance un grand concours de script expect ....

plein d'XP à gagner

deux problème :

- je veux avoir accès directement à un serveur sans saisir le login ni le mot de pass (de toute façon toute la boite les connaît)
en clair je lance "./monscript.expect" et je me retrouve sur cette machine

- en plus je veux pouvoir de cette machine (qui me sert de passerelle) lancer automatiquement et sans aucune saisie un autre telnet vers un autre serveur ...

si tu es un pro de expect tu peux répondre ...

d'avance merci
  • # rsh ou ssh ?

    Posté par  . Évalué à 1.

    Ça ne répond pas vraiment à la question, mais dans un environnement non hostile, rsh est fait exactement pour cela.

    Et sinon, ssh peut faire la même chose en toute sécurité avec des clés d'authentification.
  • # autoexpect

    Posté par  . Évalué à 2.

    Utilise autoexpect et fait du ménage dans le script qu'il génère :)
    • [^] # Re: autoexpect

      Posté par  (site web personnel) . Évalué à 2.

      j'ai pas autoexpect sur mon cygwin ...
      • [^] # Re: autoexpect

        Posté par  . Évalué à 2.

        dans le rep de documentation .../doc/expect/examples/autoexpect ?
        • [^] # Re: autoexpect

          Posté par  (site web personnel) . Évalué à 2.

          houps ;-)

          je regarde ...
          • [^] # Re: autoexpect

            Posté par  (site web personnel) . Évalué à 2.

            ça marche pas :-(

            à la fin du script généré il ferme la connection (oui j'ai retirer la ligne qui parle de exit :-) )
            • [^] # Re: autoexpect

              Posté par  . Évalué à 3.

              de mémoire, il me semble que c'est la faute à la ligne "spawn qqchose" que tu dois avoir dans le script... regarde la page de man...
              je suis désolé mais ça fait un bout de temps que je n'ai pas joué avec expect et je n'ai pas mes scipts sous la main, là...
              • [^] # Re: autoexpect

                Posté par  . Évalué à 3.

                heu, pas du tout efface :)
                il faut finir le script par un "interact" :)
  • # j'vé me faire lincher :D

    Posté par  (site web personnel) . Évalué à 1.

    si tu créé un fichier texte avec dedans toutes les commandes que tu tape normalement pour faire toutes tes manips avec comme derniere ligne un EOF et que ensuite tu fait :
    telnet host << EOF < "le fichier texte"

    non ?
  • # script à améliorer ...

    Posté par  (site web personnel) . Évalué à 2.

    bon ce que j'ai finalement trouvé ...

    set force_conservative 1 ;# set to 1 to force conservative mode even if
    ;# script wasn't run conservatively originally
    if {$force_conservative} {
    set send_slow {1 .1}
    proc send {ignore arg} {
    sleep .1
    exp_send -s -- $arg
    }
    }


    set timeout -1
    spawn telnet monhost
    match_max 100000
    expect -exact "login: "
    send -- "user\r"
    expect -exact "assword: "
    send -- "p@ssvv0rD\r"
    interact
    #expect -exact "exit\r"
  • # puisque c'est comme ça, je me lance aussi ;)

    Posté par  . Évalué à -2.

    Et des jolis .rhost des familles pour l'authentification ?
    et un rsh dans le .login (avec là encore le .rhost qui va bien) et je pense que c'est ok, non ?
    Par contre ce user ne servira qu'à ça, évidemment :)

    Si tu veux atteindre plusieurs machines, tu peux avoir comme nom d'utilisateur sur la machine intermédiaire le nom de la machine distante, le script pouvant s'appeler du nom de ladite machine distante !

    Par exemple :
    ----8<----
    penso@pipi ~# ./prout
    Connected to gate.penso.org as prout
    Connected to prout.linuxfr.org

    Yo Fab, you're ze baiste

    $ uname -o
    SuSE Advanced Server
    $ ^d
    % ^d
    penso@pipi ~# ./zobe
    Connected to gate.penso.org as zobe
    Connected to zobe.linuxfr.org

    Kill d4 /\/\U553LZ

    $
    ----8<----

    Clair (ou Charles si tu préfères) ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.