Page 1 of 1
Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 17:40
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
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 17:54
by flo
expect sollte da für Dich das richtige sein:
http://www.linuxjournal.com/article/3065
flo.
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:04
by metrax
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:05
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
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:27
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é
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:32
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
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:55
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:
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 18:58
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.
Re: Telnet befehl via shellscript absetzen?
Posted: 2006-08-30 20:09
by andre丨
dankeeeee :-) funktioniert.