Ho cercato di farlo funzionare ma continuo a ottenere gli stessi errori. Ho provato il fqdn e l'ip dell'host. Ho provato a passarlo con credenziali e senza. Ho esaminato le linee indicate nel messaggio di errore. Ricerca Google, ma non riesco a capire il motivo per cui questo non sta funzionando:SSH - Python con problema paramiko
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()
Errore:
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')
- io sono in grado di connettersi all'host senza alcun problema tramite ssh.
- versione ssh: OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 mar 2010
- Nota: sto cercando di creare un modo per eseguire una serie di comandi su diversi server remoti. Sto usando
sys import argv
per eseguire lo script comepython audit.py host1 host2 host3
, e quindi lo script verrà eseguito attraverso l'audit per quei particolari host. Ho già creato uno script bash che lo realizza ma volevo un modo migliore di farlo tramite Python.
Potrebbe essere dovuto alla mancata parola chiave 'password'? – Tshepang