Bash-Skript, um SSH in eine Maschine ohne Aufforderung das Passwort und ohne die Verwendung von Schlüsseln

Merke ich, diese Frage wurde gebeten ein paar mal, aber ich konnte nicht finden, eine relevante Antwort irgendwo in meinem suchen.

Arbeite ich in einer Entwicklungsumgebung, in denen die Sicherheit ist nicht ein Problem, und jeder konnte nur erraten das Passwort, wenn der Gedanke für ein paar Sekunden.

Was ich versuche zu tun, ist einfach. Erstellt habe ich eine alias-Funktion in mein lokal .bashrc-Datei und ich möchte diese Funktion automatisch einloggen in eine Maschine mit einem default-Passwort.

Meine aktuelle Implementierung sieht wie folgt aus:

function s () { 
 ssh root@192.168.1.$1
}

Wenn ich es laufen lasse bekomme ich so etwas wie dieses:

~]s 122

ssh root@192.168.1.122

root@192.168.1.122's password: 

Bash verwenden, und nicht die Verwendung von RSA-keys ich würde gerne dieses verwenden das Standard-Passwort 'password'.

Ich habe versucht, die folgenden, wo die IP und User wurden bereits gesetzt.

Do=$(expect -c "
spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]} 
expect \"yes/no\" 
send \"yes\r\" 
expect \"assword\" send \"password\"")
echo $Do
$Do

Gibt es den folgenden Fehler:

Connecting and logging into server using expect
usage: send [args] string
    while executing
"send"
    invoked from within
"expect "assword" send "password""
 Administrator@192.168.1.176's password:
bash: spawn: command not found...

Verwenden Sie den folgenden Befehl, den ich bin in der Lage, die Verbindung einer Maschine. Wenn ich entfernen Sie die Interaktion läuft es einfach in der uptime-Befehl und schließt die Verbindung. Mit der interact-Befehl, den ich bin nicht in der Lage, um zu sehen, was ich tippe oder tatsächlich die Interaktion mit der Maschine. Irgendwelche Ideen?

Do=$(expect -c "spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect \"test\"; send \"uptime\n\"; interact;");echo $Do;
Funktioniert der spawn-Befehl einrichten der Umgebung? Wenn nicht, dann wird der Pfad wird nicht gesetzt sein und es nicht wissen, wo Sie zu suchen 'ssh'. Versuchen Sie, den vollständigen Pfad zu der ausführbaren Datei.
Nur Frage mich, was Ihre Abneigung gegen RSA-Schlüssel? Das erste, was ich immer mache, wenn ein system neu aufzusetzen ist zu ermächtigen, einen RSA-Schlüssel.
Ich wollte nicht, dass die Arbeit mit RSA-keys bin, weil ich arbeite mit vielen verschiedenen Servern, die eine sehr begrenzte Lebensdauer, und das script wird von vielen Menschen genutzt.Die Idee ist, um Zeit zu sparen, indem nicht mit, um geben Sie das gleiche Kennwort jedes mal. Wenn ich den Typ das Kennwort jedes mal, wenn ich den ersten Besuch einer neuen Maschine zu ssh-copy-id die Schlüssel über es Niederlagen der Zweck.
Sagen Sie, dass erwarten spawn Befehl nicht wissen, was zu tun mit ssh und ich sollte /bin/ssh statt?
warum nicht Schiff, die RSA-Schlüssel neben dem Skript und das Skript verwenden ssh -i <key>?

InformationsquelleAutor SuperTetelman | 2012-11-08

Schreibe einen Kommentar