Je suis en cours d'exécution d'un processus SSH comme ceci:entrée standard personnalisé pour python sous-processus
sshproc = subprocess.Popen([command], shell=True)
exit = os.waitpid(sshproc.pid, 0)[1]
Cela fonctionne et ouvre une borne interactive. Basé sur la documentation pour subprocess
, sshproc
utilise le script sys.stdin
.
La question est: comment puis-je imprimer sur stderr ou sur un fichier quelle entrée est reçue par ce processus fils? Je crée une API de journalisation et je ne peux pas enregistrer les commandes exécutées sur cette session SSH.
Je n'ai pas besoin de la réponse, juste un coup de pouce dans la bonne direction.
Merci à tous!
EDIT: Il est important que je commence le processus comme indiqué ci-dessus afin que je puisse avoir une session SSH interactive avec mon utilisateur. Par exemple. Je ne peux pas utiliser communicate()
autant que je sache.
Merci pour la suggestion, mais lors de l'utilisation de «communiquer» mes utilisateurs perdent la possibilité d'utiliser le SSH terminal interactif. – sholsapp