J'ai une machine distante Linux qui exécute un script lors de la tentative de connexion, dans laquelle elle va exécuter le script, et qui nécessite l'entrée de l'utilisateur.Prendre l'entrée de la connexion utilisateur auto-execute à l'aide de la commande ssh execute
L'intention principale est de tester l'utilisateur de connexion, le mot de passe avec la réponse des scripts automatiques à distance lors de la connexion à cet utilisateur.
Informations intérieur de la machine à distance:
$ cat /etc/passwd
remoteuser: dontcare: dontcare: dontcare: dontcare: /usr/bin/somescript.sh
Lorsque la connexion utilisateur dans remoteuser , le somescript.sh va fonctionner.
Le contenu du script qui demandant l'entrée utilisateur
$ read -p '>' tmp
et je ne veux pas faire des modifications à ce script.
Exemple de connexion
login: remoteuser
Password: remoteuserpassword
Quit Configuration (q, quit)
moi Est-il possible d'envoyer l'entrée d'utilisateur en utilisant la commande ssh? Actuellement, mon approche utilise ssh paramiko,
connexion= paramiko.SSHClient() en utilisant exec_command
mais il n'a pas réussi à envoyer l'entrée en séquence droite ou pas transmis à ce script.
$ echo q
au paramiko exec connection.exec_command('echo q')
Je ne pas utiliser comme connexion de la racine pour tester cet utilisateur distant car il ne demande pas de mot de passe.
echo q | su - remoteuser
mon intention principale est de tester l'utilisateur de connexion et le mot de passe avec les scripts de réponse automatique lors de l'ouverture de session à cet utilisateur. – sangelion