子进程输入显示密码

时间:2012-03-19 09:50:41

标签: python passwords subprocess

我正在使用Python子进程在远程服务器上运行命令:

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

当我输入密码时,它会显示在屏幕上 - 而不是从密码被隐藏的shell运行。

有没有办法禁用此输入回音?

1 个答案:

答案 0 :(得分:1)

如果您必须输入应自动化的内容,您可能需要考虑使用pexpect:http://www.noah.org/wiki/Pexpect 这样您就可以提前询问用户密码(使用getpass模块),然后让您的脚本虚拟地“键入”密码。

上面提到的网站上有几个写得很好的例子,描述了如何做你需要的。