首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python SFTP:连接中断时获取通知

Python SFTP:连接中断时获取通知
EN

Stack Overflow用户
提问于 2021-06-30 21:04:47
回答 1查看 43关注 0票数 0

有没有可能,如果由于某种原因与服务器的连接中断,我会收到一条文本或其他信息,这样我就知道这个错误与服务器有关?

代码语言:javascript
运行
复制
import paramiko
import time

def connSFTP(ssh_key_filepath,host,user):
    #Fehleroptionen 1. Pfad zum SSH-KeyError
                        #-SSH-Key vorhanden?
                    #2.Host und/oder Username ist falsch

    k = paramiko.RSAKey.from_private_key_file(ssh_key_filepath) #SSH KEY
    c = paramiko.SSHClient()
    c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    c.connect( hostname = host, username = user , pkey = k )
    sftp = c.open_sftp()

    return sftp

def main():
    ssh_key_filepath = '/home/dtv/.ssh/id_rsa'
    hostname = 'HostAdress'
    username = 'user'
    sftp = connSFTP(ssh_key_filepath,hostname,username)
    print('Connected')

    time.sleep(30)

    #sftp.close()

if __name__ == '__main__':
    main()

我内置了一个睡眠,所以我可以终止连接的过程,并模拟在时间上丢失的连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-30 21:46:23

您应该对以下内容使用异常处理:

如果无法验证服务器的主机密钥,则引发: BadHostKeyException

如果身份验证失败,则引发: AuthenticationException

如果连接或建立SSHException会话时出现任何其他错误

如果连接时发生套接字错误,则引发: socket.error

Paramiko api文档链接:http://docs.paramiko.org/en/1.15/api/client.html#paramiko.client.SSHClient.connect

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68195360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档