Sto cercando di creare uno script Python che possa interagire con uno switch CISCO e in particolare con i comandi del CLI. Ho provato ad utilizzare due moduli in particolare: PARAMIKO e NETMIKO. Sia utilizzando l'uno che l'altro alla fine ottengo sempre lo stesso errore per il seguente codice:
import paramiko
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.load_system_host_keys(filename="/root/.ssh/known_hosts")
client.connect(hostname='192.168.1.2',username='cisco',password='cisco')
Errore riportato:
Traceback (most recent call last):
File "/home/nicola/Documenti/PYTHON/progetti/FISIO/prova.py", line 6, in <module>
client.connect(hostname='192.168.1.2',username='cisco',password='cisco')
File "/home/nicola/Documenti/PYTHON/progetti/venv/lib/python3.8/site-packages/paramiko/client.py", line 435, in connect
self._auth(
File "/home/nicola/Documenti/PYTHON/progetti/venv/lib/python3.8/site-packages/paramiko/client.py", line 764, in _auth
raise saved_exception
File "/home/nicola/Documenti/PYTHON/progetti/venv/lib/python3.8/site-packages/paramiko/client.py", line 751, in _auth
self._transport.auth_password(username, password)
File "/home/nicola/Documenti/PYTHON/progetti/venv/lib/python3.8/site-packages/paramiko/transport.py", line 1509, in auth_password
return self.auth_handler.wait_for_response(my_event)
File "/home/nicola/Documenti/PYTHON/progetti/venv/lib/python3.8/site-packages/paramiko/auth_handler.py", line 250, in wait_for_response
raise e
paramiko.ssh_exception.BadAuthenticationType: Bad authentication type; allowed types: ['publickey']
Attualmente sullo switch è abilitato l'accesso tramite username e password e non con l'utilizzo di una chiave.
Guardando la documentazione disponibile dei moduli e facendo riferimento agli script di esempio, la connessione tra client e switch dovrebbe avvenire senza problemi con il codice riportato
Secondo voi dove sbaglio?