好吧,我正在建立一个"二级认证"一些服务器的片断。 SSH连接后,基本上会提示您输入第二组凭据。这是我遇到的问题......
只要我从机器上运行它并且无法解决问题,如果我已经陷入并且已经作为用户进行身份验证或者我是本地的,那么脚本就会正常显示。但是,如果我将脚本添加到相关配置文件中,并在用户进入时启动,因为所述用户没有任何打印命令显示在屏幕上,而是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.
答案 0 :(得分:1)
需要打印到stderr而不是stdout
sys.stdout = sys.stderr