paramiko.ssh_exception.SSHException: Error reading SSH protocol banner的错误解决方案

首先先上代码

import paramiko

# 服务器信息,主机名(IP地址)、端口号、用户名及密码
hostname = "192.168.110.199"
port = 22
username = ""
password = ""

# transport = paramiko.Transport((hostname, port))
# print(transport.banner_timeout)
# transport.banner_timeout = 30
# print(transport.banner_timeout) #企图不改源码更改数值

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port, username, password, compress=True)
sftp_client = client.open_sftp()
remote_file = sftp_client.open("/play")  # 文件路径
try:
    for line in remote_file:
        print(line)
finally:
    remote_file.close()

在网络中很多都是提议的改源码中的banner_timeout的时间,代码如下:

        self.banner_timeout = 30  #在源码的484行

这个时间默认是15,我已经改成了30,实际上很多时候这样并解决不了问题,因为这个相当于是网络不好的情况下或者说服务器不在内地的情况下可能出现的情况,在这个时候我看到网上另外一种解决方法是因为发现了端口给错了实际上不止是端口服务器IP账号密码错误都有可能导致这个问题,所以在报错后应该看看除开网络外的其它问题

你可能感兴趣的:(python后端问题,python)