Paramiko / Netmiko SSH 错误 - 'Channel' 对象没有属性 'update_environment_variables'

Paramiko / Netmiko SSH Error - 'Channel' object has no attribute 'update_environment_variables'

我正在尝试使用 paramiko 建立与 Cisco 路由器的 SSH 连接,但出现以下错误:

  File "/Library/Python/2.7/site-packages/paramiko/client.py", line 467, in invoke_shell
chan.update_environment_variables(environment or {})
AttributeError: 'Channel' object has no attribute 'update_environment_variables'

这是我使用的代码:

def init_connect():
global tun
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

print "\n\nAttempting connection to ", device_ip, " via SSH"
ssh.connect(device_ip,username=username,password=password,timeout=5)
print "Connection established."

tun = ssh.invoke_shell()
output = tun.recv(1000)

print output

这是 paramiko 2.1 的错误。参考 https://github.com/paramiko/paramiko/issues/859

直到这个问题得到解决。您可以使用旧版本的 paramiko。使用以下命令降级。

pip install paramiko==2.0.2