Ввод подпроцесса показывает пароль - PullRequest
0 голосов
/ 19 марта 2012

Я использую подпроцесс Python для запуска команды на удаленном сервере:

p=subprocess.Popen('ssh blah@foo.com "sudo do_something"', shell=True)

Когда я набираю пароль, он появляется на экране - в отличие от запуска его из оболочки, где пароль скрыт.

Есть ли способ отключить это входное эхо?

1 Ответ

1 голос
/ 19 марта 2012

Возможно, вы захотите использовать pexpect, если вам нужно ввести что-то, что должно быть автоматизировано: http://www.noah.org/wiki/Pexpect Таким образом, вы можете заранее запросить пароль у вашего пользователя (с помощью модуля getpass), а затем позволить вашему сценарию «набрать» пароль виртуально.

На упомянутом выше сайте есть пара хорошо написанных примеров, описывающих, как делать то, что вам нужно.

...