我想编写一个python脚本来创建一个连接来切换cisco。我已经使用了python的paramiko模块,但是它会向连接返回错误。
代码:
import paramiko
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='192.168.1.2', username='cisco',password='cisco')
它返回此错误
Traceback (most recent call last):
File "/home/nicola/.PyCharmCE2019.3/config/scratches/cisco.py", line 11, in <module>
client.connect(hostname='192.168.1.2', username='cisco',password='cisco')
File "/home/nicola/PycharmProjects/cisco/venv/lib/python3.7/site-packages/paramiko/client.py", line 446, in connect
passphrase,
File "/home/nicola/PycharmProjects/cisco/venv/lib/python3.7/site-packages/paramiko/client.py", line 764, in _auth
raise saved_exception
File "/home/nicola/PycharmProjects/cisco/venv/lib/python3.7/site-packages/paramiko/client.py", line 751, in _auth
self._transport.auth_password(username, password)
File "/home/nicola/PycharmProjects/cisco/venv/lib/python3.7/site-packages/paramiko/transport.py", line 1509, in auth_password
return self.auth_handler.wait_for_response(my_event)
File "/home/nicola/PycharmProjects/cisco/venv/lib/python3.7/site-packages/paramiko/auth_handler.py", line 250, in wait_for_response
raise e
paramiko.ssh_exception.BadAuthenticationType: Bad authentication type; allowed types: ['publickey']
[将其复制到计算机后,尝试使用路由器生成的ssh密钥。
import paramiko
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='192.168.1.2', key_filename=<your path to key>)