好的,我正在为一些服务器构建一个“二级身份验证”部分。基本上,系统会提示您在SSHing之后输入第二组凭据。这是我遇到的问题..。
只要我从机器上运行它,脚本就会正确显示,不管我是否已经通过用户身份验证,或者我是否是本地用户。但是,如果我将脚本添加到所讨论的配置文件中,并以用户的身份启动它,那么我的打印命令就不会显示在屏幕上,但是getpass.getpass(密码:)命令确实会显示。
所以,这里没有显示什么,即使它没有显示“用户名”这个词,它仍然接受输入。
USERNAME = raw_input('Username: ')
这就是没有显示出来的东西。
PSWD = getpass.getpass('Password: ')
以下是登录尝试的样子(这是错误的密码,也应该打印失败消息,但正如您所见,它没有)
Last login: Thu Jul 2 15:19:06 2015 from x.x.x.x
unicode_start skipped on /dev/pts/2
unicode_start skipped on /dev/pts/2
test_test
Password:
Connection to x.x.x.x closed.
发布于 2015-07-02 12:21:13
需要打印到stderr而不是stdout
sys.stdout = sys.stderr
https://stackoverflow.com/questions/31193136
复制