私はこれを機能させようとしていますが、同じエラーが発生し続けます。ホストの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、OpenSSL1.0.0-fips2010年3月29日
- 注:私は、いくつかのリモートサーバーで一連のコマンドを実行する方法を作成しようとしています。を使用
sys import argv
してなどpython audit.py host1 host2 host3
のスクリプトを実行すると、スクリプトはそれらの特定のホストの監査を実行します。これを実現するbashスクリプトをすでに作成しましたが、Pythonを介してそれを行うためのより良い方法が必要でした。