python paramiko长连接_【Python】 SSH连接的paramiko

本文详细介绍了Python的Paramiko库,它用于实现SSH协议进行远程操作,如执行命令和文件传输。内容包括SSHClient的使用方法,如通过SSHClient执行远程命令,使用SFTP进行文件上传和下载,以及Transport类的使用,创建长连接以实现命令交互。文中还讨论了Transport的更多扩展,如连接超时设置、身份验证选项和set_missing_host_key_policy的策略选择。最后提到了SSHClient.exec_command的异步原理和stdin的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

paramiko

*paramiko需要PyCrypto模块的支持

paramiko支持通过SSH协议进行一些操作,比如远程执行命令,上下传文件等等

用法:

①  远程命令

ssh =paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#指定当对方主机没有本机公钥的情况时应该怎么办,AutoAddPolicy表示自动在对方主机保存下本机的秘钥

ssh.connect('ip',22,'user','passwd') #SSH端口默认22,可改

stdin,stdout,stderr = ssh.exec_command("命令内容") #这三个得到的都是类文件对象

outmsg,errmsg = stdout.read(),stderr.read() #读一次之后,stdout和stderr里就没有内容了,所以一定要用变量把它们带的信息给保存下来,否则read一次之后就没有了

if errmsg == "":printoutmsg

ssh.close()

②  文件交流

tra = paramiko.Transport(('ip',22)) #参数是一个tuple

tra.connect(username='...',password='...') #一定要指明参数名的username和password。否则会报错str has no attribute 'get_name'

sftp =paramiko.S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值