Telnet befehl via shellscript absetzen?

Bash, Shell, PHP, Python, Perl, CGI
andre丨
Posts: 125
Joined: 2003-09-28 13:34

Telnet befehl via shellscript absetzen?

Post by andre丨 »

Hallo,
ich würde gerne ein shellscript schreiben, welches sich an einem Rechner per Telnet anmeldet und dort einen Befehl absetzt. Ist soetwas möglich, wenn ja wie?

Vielen Dank!
André Hartmann
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Telnet befehl via shellscript absetzen?

Post by flo »

expect sollte da für Dich das richtige sein:

http://www.linuxjournal.com/article/3065

flo.
metrax
Posts: 194
Joined: 2003-02-22 22:51
Location: München / Berg-am-Laim

Re: Telnet befehl via shellscript absetzen?

Post by metrax »

oder falls Perl auch ok für dich wär:

http://search.cpan.org/~jrogers/Net-Tel ... /Telnet.pm
tk
Posts: 17
Joined: 2006-08-30 17:32

Re: Telnet befehl via shellscript absetzen?

Post by tk »

Hi,

es ist möglich telnet in einem Shellskript zu verwenden índem du die Daten an telnet via stdin übergibst.

Das Verfahren sieht folgendermaßen aus:

Code: Select all

telnet host [Port] << ENDMARKE
code den du an telnet übergeben möchtest
.
.
.
ENDMARKE
als Beispiel das versenden einer E-Mail. Interaktiv sieht es so aus:

Code: Select all

sun:/home/tk$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 sun.local ESMTP Sendmail 8.11.7p1+Sun/8.11.6; Wed, 30 Aug 2006 17:55:44 +0200 (MEST)
helo localhost
250 sun.local Hello localhost [127.0.0.1], pleased to meet you
mail from:root
250 2.1.0 root... Sender ok
rcpt to:root
250 2.1.5 root... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Subject:test
.
250 2.0.0 k7UFtsQ27075 Message accepted for delivery
quit
221 2.0.0 sun.local closing connection
Connection closed by foreign host.
sun:/home/tk$ 
Im Skript sieht das dann folgendermaßen aus:

Code: Select all

telnet localhost 25 << EOF
helo localhost
mail from:root
rcpt to:root
data
Subject:test
.
quit
EOF
Dabei benötigst du keine andere Software als Hilfsmittel.

Gruß

TK
andre丨
Posts: 125
Joined: 2003-09-28 13:34

Re: Telnet befehl via shellscript absetzen?

Post by andre丨 »

Hallo,
schonmal vielen Dank.

Wie könnte das ganze mit SSH aussehen?

Kann ich mich dort auch anmelden und befehle absetzen. Wenn ja, wie?

Danke für die Info!
André
tk
Posts: 17
Joined: 2006-08-30 17:32

Re: Telnet befehl via shellscript absetzen?

Post by tk »

Hi,

bei ssh ist das ganz einfach:

ssh user@host "Befehl"

bzw.

ssh user@host "Skript"

Das ganze setzt vorraus, dass du einen Passwortfreien ssh-Key hast.

Hier ist "man ssh-keygen" dein Freund.

Gruß

TK
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Telnet befehl via shellscript absetzen?

Post by mattiass »

aNdRe| wrote: Wie könnte das ganze mit SSH aussehen?

Kann ich mich dort auch anmelden und befehle absetzen. Wenn ja, wie?
PublicKey Login konfigurieren, dann musst Du keine Klartextpasswörter abspeichern. Zudem musst Du nicht mit "expect" herumfrickeln, sondern kannst direkt Befehle übergeben:

Code: Select all

ssh user@host dmesg
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Telnet befehl via shellscript absetzen?

Post by flo »

Die Lösung per ssh ist wesentlich einfacher - ich habe mal wieder um drei Ecken gedacht, daß da jemand einen Ersatz für SNMP sucht und damit auf "blöde" Geräte wie Router usw. drauf möchte.

:-)

flo.
andre丨
Posts: 125
Joined: 2003-09-28 13:34

Re: Telnet befehl via shellscript absetzen?

Post by andre丨 »

dankeeeee :-) funktioniert.