paramiko模块

(-)上传下载实现
 
import paramiko
transport = paramiko.Transport(('10.10.10.129',22))
transport.connect(username='ding',password='111111')
sftp = paramiko.SFTPClient.from_transport(transport)

'''不晓得在WINDOWS下的路径和Linux路径表示不同,是否可以成功?实验证实是可以成功的,WINDOWS就写WINDOWS的路径格式即可,Linux
    则写Linux的路径格式。
    有一点需要注意的就是:必须给出完整的路径名包括文件名。
    '''
# 上传
sftp.put('E:\json.jn','/home/ding/json_new.jn')

#下载
sftp.get('/home/ding/json_new.jn','hello_json')

transport.close()
(二)连接客户端执行命令实现及问题待解决
import paramiko
# 创建SSH客户端
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.10.10.129',port=22,username='ding',password='111111')


'''执行下面这条ifconfig命令不会返回输出,执行echo $PATH后发现环境变量路径和Linux下的路径不同,少了一些,造成ifconfig无法执行,
   具体导致原因还未知道,浏览器收藏的张戈博客很不错,有关于paramiko的文章很好,包括stdout的缓冲'''
# stdin,stdout,stderr=ssh.exec_command('ifconfig')
stdin,stdout,stderr=ssh.exec_command('echo $PATH')

result=stdout.read()

# result输出是BYTES类型的,需要result.decode()解码才可以
print(result.decode())
ssh.close()


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值