Telnet-Login automatisieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Ogion
Beiträge: 221
Registriert: 08.04.2007 12:42:55

Telnet-Login automatisieren

Beitrag von Ogion » 21.10.2007 19:54:39

Hi,
Ich wohn hier in nem Studentenwohnheim und fürs Internet müssen wir ne Telnetverbindung zu nem Server aufbauen und dann Nutername und Passwort eingeben, danach wird die Sitzung automatisch beendet.
Nun will aber ne Zimmernachbarin, eine mit nem Ubuntu (inzwischen das neueste) drauf, aber keine Ahnung vomn Linux und will das auch so lassen, sie will jedenfalls, dass die Internetverbindung automatisch beim Boot gestartet wird. Normalerweise würde ich einfach nen Script machen mit nem Einzeiler oder so und in /etc/init.d packen (und nat- /etc/rc2.d/). Aber die Verbindung, die der Befehl "telnet Gateway" aufruft ist ja interaktiv.
Nun also meine Frage: Gibts eine Möglichkeit dem Befehl selber oder über eine Datei den Username und das Passwort mitzugeben?
Ich hab das leider aus der Manpage nicht ganz herauslesen können.

Ogion
"Aufklärung ist der Ausgang des Menschen aus seiner selbst verschuldeten Unmündigkeit." - Immanuel Kant
"Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch
Sicherheit." - Benjamin Franklin

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 21.10.2007 21:53:00

hi,

im Prinzip ja, aber Programme sind bei Passworteingaben sehr pingelig,
und das ist auch gut so. Ich würde sowas eher mit netcat versuchen.
Das unterstützt auch das telnet-Protokoll, ist aber flexibler und nimmt
alles per Kommandozeile und/oder stdin entgegen.

Evt. ist am anderen Ende auch garkein vollständiges telnet-Protokoll
installiert. Dann wäre netcat sowieso die bessere Wahl.
Beware of programmers who carry screwdrivers.

Ogion
Beiträge: 221
Registriert: 08.04.2007 12:42:55

Beitrag von Ogion » 22.10.2007 00:31:49

Ok, hmm, da mir netcat auch nicht einfacher aussah, und ich keinen anderen sinnvollen telnetclient gefunden hab habe ich einfach mal weitergesucht, und siehe da, ich bin auf was gestoßen:
Es gibt ein Programm, expect, was wie der name sagt gewisse Zeichenfolgen in einem interaktiven 'Dialog' sucht, und darauf mit voreingestellten Zeichenfolgen antwortet. Nun klappt das auch, allerdings nur, wenn ich das script 2-mal aufrufe, owohl beide Aufrufe genau gleich sind, und auch der Bildschirmoutput gleich aussieht. Mich wundert das ein wenig. Weiß hier vlt jemand einen möglichen Grund? Ich stell hier das script mal rein (mit veränderten Zugangsdaten ;))

$ cat expectscript

#!/usr/bin/expect -f
set timeout 20
set send_slow {5 .001}
set USERNAME "Username"
set PASSWORD "Passwort,mitSonderzeichenund123Ziffern"
spawn telnet xxx.xxx.204.1
expect "Username: "
send "$USERNAME\r"
sleep 1
expect "Password: "
send -s "$PASSWORD\r"

Vlt. fällt jemadnem dazu ja was ein.
Ogion
"Aufklärung ist der Ausgang des Menschen aus seiner selbst verschuldeten Unmündigkeit." - Immanuel Kant
"Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch
Sicherheit." - Benjamin Franklin

Ogion
Beiträge: 221
Registriert: 08.04.2007 12:42:55

Beitrag von Ogion » 22.10.2007 00:44:21

Ok, nach dem Neustart klappte es auch beim ersten Scriptdurchlauf.
Keine Ahnung was das Problem war, aber wenns jetzt so bleibt, dann ist gut.

Ogion
"Aufklärung ist der Ausgang des Menschen aus seiner selbst verschuldeten Unmündigkeit." - Immanuel Kant
"Wer grundlegende Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu gewinnen, verdient weder Freiheit noch
Sicherheit." - Benjamin Franklin

Antworten