【问题标题】:fabric ask for password for ssh user on Redhat8 even though I could ssh via terminal successfully(no issue on centos)即使我可以通过终端成功 ssh,fabric 也会在 Redhat8 上要求 ssh 用户的密码(在 centos 上没有问题)
【发布时间】: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代码成功运行命令。

可能的原因是什么?

【问题讨论】:

    标签: python redhat fabric


    【解决方案1】:

    我们发现原因是因为目标服务器上的高安全设置。 使固定: 编辑 /etc/crypto-policies/back-ends/opensshserver.config -> 将“ssh-rsa”添加到“-oPubkeyAcceptedKeyTypes”。 示例:“-oPubkeyAcceptedKeyTypes=ssh-rsa”

    【讨论】:

      猜你喜欢
      • 2012-04-23
      • 2018-04-19
      • 2012-07-28
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      相关资源
      最近更新 更多