【发布时间】:2025-02-26 13:30:01
【问题描述】:
我正在使用以下代码连接到远程服务器:
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.WarningPolicy())
ssh.connect(
hostname=settings.HOSTNAME,
port=settings.PORT,
username=settings.USERNAME,
)
当我在本地服务器 A 上时,我可以从命令行 ssh 到远程,这表明它在 known_hosts 中。并且代码按预期工作。
在本地服务器 B 上,我还可以从命令行 ssh 到远程服务器。但是当我尝试使用上面的代码时,我得到:
/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py:763: UserWarning: Unknown ssh host key for [hostname]:22: b'12345'
key.get_fingerprint())))
...
File "/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py", line 416, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, t.gss_host,
File "/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py", line 702, in _auth
raise SSHException('No authentication methods available')
paramiko.ssh_exception.SSHException: No authentication methods available
与“SSH - Python with paramiko issue”不同,我同时使用 load_system_host_keys 和 WarningPolicy,因此我不需要以编程方式添加密码或密钥(也不需要在本地服务器 A 上)。
我错过了一些系统配置步骤吗?
【问题讨论】:
标签: python-3.x ssh paramiko