Ich habe Linux Remote-Computer, die ein Skript auf den Login-Versuch, die es das Skript ausführen wird, und es erfordern die Benutzereingaben.Die Eingabe von automatisch ausführen Benutzeranmeldung mit SSH ausführen Befehl
Die Hauptabsicht besteht darin, den Login-Benutzer, das Passwort mit der Auto-Scripts-Antwort aus der Ferne zu testen, wenn sich der Benutzer anmeldet.
Informationen innerhalb der entfernten Maschine:
$ cat /etc/passwd
entfernter_benutzer: DONTCARE: DONTCARE: DONTCARE: DONTCARE: /usr/bin/somescript.sh
Wenn Benutzer-Login in entfernter_benutzer , das somescript.sh wird ausgeführt.
Der Inhalt des Skripts, die
$ read -p '>' tmp
für die Benutzereingabe zu fragen, und ich will nicht das Skript alle Änderungen tun.
Beispiel Login
login: remoteuser
Password: remoteuserpassword
Quit Configuration (q, quit)
Ist es möglich für mich, die Benutzereingabe mit ssh Befehl zu senden? Derzeit mein Ansatz wird mit paramiko ssh,
connection = paramiko.SSHClient() mit exec_command
aber noch immer nicht, es zu diesem Skript zu übergeben die Eingabe in der richtigen Reihenfolge oder nicht zu senden.
$ echo q
zum paramiko exec connection.exec_command('echo q')
ich nicht Login verwenden wie von der Wurzel dieses Remote-Benutzer zu testen, da es nicht für Passwort fragt.
echo q | su - remoteuser
mein Hauptziel ist es, den Login-Benutzer und das Passwort mit der auto-Skripte zu testen Antwort, wenn Anmeldung an diesen Benutzer. – sangelion