Я пытаюсь использовать подпроцесс в Python для команды SSH в Linux.
args = 'ssh -tt -o NumberOfPasswordPrompts=1 -o StrictHostKeyChecking=no <myuse>@<my server>'
p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
p.communicate('password!\n')
Когда я запускаю свой код, кажется, что процесс не выполняется и ожидает ввода пароля пользователем.он не доходит до части «общение» и не получает пароль.Я также попробовал "p.stdin.write" и os.popen.write, но это тоже не сработало.
(я пытался использовать args как shlex.split (args), но команда не будетзапустить на всех, поэтому я оставил это как строку)
есть мысли? Спасибо!
Я знаком с pexpect и ожидаю - но мне нужно делать это только с помощью команды ssh / bashи встроенные библиотеки в Python (например, подпроцесс, ОС и т. д.).