我一直试图让它工作,但不断收到同样的错误。我试过主机的fqdn和ip。我试图通过凭据和不通过它。我查看了错误消息中指示的行。搜索谷歌,但无法弄清楚为什么这不起作用:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='loginname')
stdin, stdout, stderr = ssh.exec_command("pwd")
stdout.readlines()
错误:
Traceback (most recent call last):
File "audit.py", line 7, in <module>
ssh.connect('host', username='loginname')
File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 338, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 520, in _auth
raise SSHException('No authentication methods available')
- 我可以通过 ssh 毫无问题地连接到主机。
- ssh 版本:OpenSSH_5.3p1,OpenSSL 1.0.0-fips 2010 年 3 月 29 日
- 注意:我正在尝试创建一种在多个远程服务器上运行一系列命令的方法。我
sys import argv
用来运行诸如 之类的脚本python audit.py host1 host2 host3
,然后该脚本将通过对那些特定主机的审计来运行。我已经创建了一个完成此任务的 bash 脚本,但我想要通过 Python 更好地执行此操作。