paramiko连接锐捷交换机错误

我在用paramiko的SSH连接到锐捷交换机的时候,出现问题:

import paramiko

ip = '10.xx.xx.xx'
user = 'S****'
password = '******'


ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip, username=user, password=password, port=22, look_for_keys=False)

出现以下错误。

Unknown exception: p must be exactly 1024, 2048, 3072, or 4096 bits long
Traceback (most recent call last):
  File "D:\ProgramData\Anaconda3\lib\site-packages\paramiko\transport.py", line 2129, in run
    self.kex_engine.parse_next(ptype, m)
  File "D:\ProgramData\Anaconda3\lib\site-packages\paramiko\kex_gex.py", line 100, in parse_next
    return self._parse_kexdh_gex_reply(m)
  File "D:\ProgramData\Anaconda3\lib\site-packages\paramiko\kex_gex.py", line 282, in _parse_kexdh_gex_reply
    self.transport._verify_key(host_key, sig)
  File "D:\ProgramData\Anaconda3\lib\site-packages\paramiko\transport.py", line 1940, in _verify_key
    if not key.verify_ssh_sig(self.H, Message(sig)):
  File "D:\ProgramData\Anaconda3\lib\site-packages\paramiko\dsskey.py", line 149, in verify_ssh_sig
    key = dsa.DSAPublicNumbers(
  File "D:\ProgramData\Anaconda3\lib\site-packages\cryptography\hazmat\primitives\asymmetric\dsa.py", line 199, in public_key
    return ossl.load_dsa_public_numbers(self)
  File "D:\ProgramData\Anaconda3\lib\site-packages\cryptography\hazmat\backends\openssl\backend.py", line 843, in load_dsa_public_numbers
    dsa._check_dsa_parameters(numbers.parameter_numbers)
  File "D:\ProgramData\Anaconda3\lib\site-packages\cryptography\hazmat\primitives\asymmetric\dsa.py", line 271, in _check_dsa_parameters
    raise ValueError(
ValueError: p must be exactly 1024, 2048, 3072, or 4096 bits long

参考GPT和自己的思路:这个错误提示指出了你使用的SSH连接的密钥长度不符合参数要求,参数要求密钥长度必须是1024、2048、3072或4096的比特。可以尝试更改使用的密钥长度,或者确定要连接的锐捷交换机是否支持当前长度的密钥。如果需要使用特定的密钥长度,请在SSH连接时指定相应的密钥长度。