/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Expect
Fra : Jimmy


Dato : 14-06-03 12:00

Hej

Jeg har lige installeret Expect på en RH 9.0 textmode, da jeg gerne vil
scripte mig ud af at logge ind på en server manuelt.
Jeg logger ind via Telnet.

Serveren spørger om følgende to ting:

-----
User: USER

Pass: ****
-----

Det er fint nok at gemme adgangskoden i klar tekst på min egen computer,
bedre naturligvis krypteret, men i første omgang er klar tekst fin.

Jeg har kigget i man expect, men jeg må indrømme at det virker
uoverkommeligt med min meget begrænsede viden omkring Linux.


Har I nogen ide til, hvordan jeg gør det?
Nedenfor er der et uddrag af man, som man burde kunne modificere, da den
vist spørger brugeren om input?

Håber der er nogen der gider hjælpe mig videre.

Mvh
Jimmy


expect
{
User:
{
send_user "password (for $user) on $host: "
expect_user -re "(.*)\n"
send_user "\n"
send "$expect_out(1,string)\r"
stty echo
exp_continue
}
incorrect
{
send_user "invalid password or account\n"
exit
}
timeout
{
send_user "connection to $host timed out\n"
exit
}
eof
{
send_user \ "connection to host failed: $expect_out(buffer)"
exit
}
-re $prompt
}




 
 
Thomas S. Iversen (14-06-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 14-06-03 12:20

In article <qfDGa.32$gT.11@news.get2net.dk>, Jimmy wrote:

Et lille script.

#!/usr/bin/expect

set timeout 20
set name studie.dtu.dk

set user *****

set password *****

spawn telnet $name
expect "login:"
send "$user\n"
expect "Password:"
send "$password\n"
interact

Thomas, Vanløse

Jacob Bunk Nielsen (14-06-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 14-06-03 12:33

"Thomas S. Iversen" <zensonic@zensonic.dk> writes:

> set name studie.dtu.dk

Hvis det er den du logger ind på, så forstår jeg ikke at du ikke bare
bruger SSH i stedet?

--
Jacob - www.bunk.cc
If you have to ask how much it is, you can't afford it.

Thomas S. Iversen (14-06-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 14-06-03 12:34

In article <spamdrop+m3n0gk3ne1.fsf@paven.bunk.cc>, Jacob Bunk Nielsen wrote:
> "Thomas S. Iversen" <zensonic@zensonic.dk> writes:
>
>> set name studie.dtu.dk
>
> Hvis det er den du logger ind på, så forstår jeg ikke at du ikke bare
> bruger SSH i stedet?

Det gør jeg skam også. Det var og er bare den eneste maskine jeg kender
der stadigvæk har telnetd kørende, så det var eneste mulighed for
at lave scriptet.

Mvh Thomas, Vanløse

Jimmy (14-06-2003)
Kommentar
Fra : Jimmy


Dato : 14-06-03 13:11


"Thomas S. Iversen" <zensonic@zensonic.dk> wrote in message
news:slrnbem14d.1so.zensonic@www.zensonic.dk...
> In article <qfDGa.32$gT.11@news.get2net.dk>, Jimmy wrote:
>
> Et lille script.
>
> #!/usr/bin/expect
>
> set timeout 20
> set name studie.dtu.dk
>
> set user *****
>
> set password *****
>
> spawn telnet $name
> expect "login:"
> send "$user\n"
> expect "Password:"
> send "$password\n"
> interact


Hej Thomas

Tak for det hurtige svar, men jeg har nogle problemer:


Hvis jeg anvender linien:

set host IP PORT (IP er en korrekt IPadrese, PORT en korrekt port)

Får jeg følgende:

[root@fw shell]# ./expect.sh
wrong # args: should be "set varName ?newValue?"
while executing
"set host IP PORT"
(file "./expect.sh" line 5)


Hvis jeg anvender linien:

set host IP:PORT eller "IP PORT" eller "IP:PORT"

Får jeg følgende:



[root@fw shell]# ./expect.sh
spawn telnet IP:PORT
telnet: IP:PORT: Name or service not known
IP:PORT: Unknown host
send: spawn id exp4 not open
while executing
"send "$user\n" "
(file "./expect.sh" line 13)
[root@fw shell]#


Hvad gør jeg galt?

Mvh
Jimmy



Thomas S. Iversen (14-06-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 14-06-03 13:21

In article <biEGa.37$Tn1.16@news.get2net.dk>, Jimmy wrote:

> Hvad gør jeg galt?

Antager at det kan lade sig gøre på en linie (en rimelig antagelse iøvrigt).

--- nyt script

#!/usr/bin/expect

set timeout 20
set port 23
set host studie.dtu.dk
set user *****

set password *****

spawn telnet $host $port
expect "login:"
send "$user\n"
expect "Password:"
send "$password\n"
interact
---- end

Mvh Thomas

Jimmy (14-06-2003)
Kommentar
Fra : Jimmy


Dato : 14-06-03 13:22


"Thomas S. Iversen" <zensonic@zensonic.dk> wrote in message
news:slrnbem4ng.36c.zensonic@www.zensonic.dk...
> In article <biEGa.37$Tn1.16@news.get2net.dk>, Jimmy wrote:
>
> > Hvad gør jeg galt?
>
> Antager at det kan lade sig gøre på en linie (en rimelig antagelse
iøvrigt).

Super!
Nu virkede det med det samme.

Tak igen for den hurtige hjælp.

Mvh
Jimmy



Jimmy (14-06-2003)
Kommentar
Fra : Jimmy


Dato : 14-06-03 15:20


"Jimmy" <nyhedsgruppe@get2net.dk> wrote in message
news:qfDGa.32$gT.11@news.get2net.dk...
> Hej
>
> Jeg har lige installeret Expect på en RH 9.0 textmode.

Tillægspørgsmål: Findes der en wrapper, så man kan kalde den native fra
Perl?
Vil helst ud over at lave systemkald.

Mvh
Jimmy



Thomas S. Iversen (14-06-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 14-06-03 15:30

In article <4bGGa.45$%R1.20@news.get2net.dk>, Jimmy wrote:
>
> "Jimmy" <nyhedsgruppe@get2net.dk> wrote in message
> news:qfDGa.32$gT.11@news.get2net.dk...
>> Hej
>>
>> Jeg har lige installeret Expect på en RH 9.0 textmode.
>
> Tillægspørgsmål: Findes der en wrapper, så man kan kalde den native fra
> Perl?

http://www.cpan.org/modules/by-module/Expect/

Thomas, Vanløse

Jimmy (14-06-2003)
Kommentar
Fra : Jimmy


Dato : 14-06-03 15:33


"Thomas S. Iversen" <zensonic@zensonic.dk> wrote in message
news:slrnbemc96.5nk.zensonic@www.zensonic.dk...
> In article <4bGGa.45$%R1.20@news.get2net.dk>, Jimmy wrote:
> >
> > "Jimmy" <nyhedsgruppe@get2net.dk> wrote in message
> > news:qfDGa.32$gT.11@news.get2net.dk...
> >> Hej
> >>
> >> Jeg har lige installeret Expect på en RH 9.0 textmode.
> >
> > Tillægspørgsmål: Findes der en wrapper, så man kan kalde den native fra
> > Perl?
>
> http://www.cpan.org/modules/by-module/Expect/


Vildt nok

Tak igen,
Jimmy



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste