在通过ENSP来测试paramiko时会发生报错,paramiko.ssh_exception.SSHException: No existing session。这主要是由于OPENSSH的更新导致现在的OPENSSH已经不兼容老旧设备的密钥交换规则。虽然我们可以通过在.ssh/config文件内指定密钥交换的方式实现连接,但是过于麻烦。
既然是模拟环境那么设备连接的安全性其实可以稍微降低。我们可以在ENSP内的ssh client 配置处将认证换为只是用密码扔着,省去了密钥的交换,从而实现连接。
ssh user <user> authentication-type password
但是此时仍无法连接我们需要在告知paramiko不适用密钥连接,可以在connect下再配置两个参数。
ssh_client.connect(hostname="hostname", port=22, username="user", password="password",timeout=10,allow_agent=False,look_for_keys=False#最后的两个参数为需要额外添加的)
然后就可以连接了。