【发布时间】:2022-01-19 06:53:35
【问题描述】:
在终端上,我可以在没有密码的情况下成功 ssh 到目标服务器。 目标服务器是redhat8。 但是使用fabric(我试过fabric==1.14.0和fabric==2.6.0),等待密码都失败了。
这是我的测试代码:
host = 'fake_host'
access_account = 'fake_user'
def test_connection():
with settings(user=access_account, host_string=host):
run('ls -la')
test_connection()
这是结果:
run: ls -la
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/getpass.py:83: GetPassWarning: Can not control echo on the terminal.
passwd = fallback_getpass(prompt, stream)
Warning: Password input may be echoed.
[fake_host] Login password for '<fake_user>':
如果我显式设置密钥文件没有区别。
我们有另一台服务器,操作系统是centOS7,同样的设置,我们可以不用密码成功ssh到服务器,并且可以使用相同的fabric代码成功运行命令。
可能的原因是什么?
【问题讨论】: