Login
Newsletter

Thema: Konsolenprogramm mit expect fernsteuern

2 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Swobstar am Mi, 23. April 2008 um 14:07 #
Also ich habe mir expect auch schon eine ssh Verbindung automatisiert. Man muss halt auch die Abfragen, ob das Zielsystem zu den knwon_hosts hinzugefügt werden soll und wie der entsprechende Fingerprint ist beachten.
Das Skript (genannt remoteCommand) sieht wie folgt aus:

#!/usr/bin/expect -f
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set command [lindex $argv 3]
set timeout 10
spawn ssh -l $user $ip $command
expect "(yes/no)?" {send "yes\r" expect "password: $" send "$password\r"} "password: $" {send "$password\r"}
expect "$ $"

Aufrufen tut man das ganze dann mit
./remoteCommand $ip $user $password $command
SICHER IST DAS ABER NICHT!!! DAS PASSWORT STEHT DANACH IN DER HISTORY
Wenn man sich bei SSH die Passwortabfragen sparen will, sollte man mit private / public Keys arbeiten und nirgendwo ein Passwort speichern.

[
| Versenden | Drucken ]
  • 0
    Von AndyP am Di, 29. November 2011 um 17:53 #

    Es gäbe sonst auch die Möglichkeit, in der bashrc zu definieren, dass Kommandozeilen, die mit einem Leerschlag beginnen, nicht in die History mit aufgenommen werden.
    HISTCONTROL="ignorespace" (oder "ignoreboth", das zusätzlich noch doppelte Eingaben ignoriert)

    Dann aber einfach nicht vergessen, jedes mal den Leerschlag vorne hinzuschreiben bevor man die Entertaste drückt. ;)

    [
    | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten