首页 > 其他 > 详细

09.paramiko

时间:2021-03-28 12:59:12      阅读:20      评论:0      收藏:0      [点我收藏+]

01.Paramiko模块作用

1)如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,

**比如:**批量执行命令,批量上传文件等操作,paramiko是最佳工具之一。
2)paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接

3)由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台

如Linux, Solaris, BSD,MacOS X, Windows等,paramiko都可以支持
4)如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一

5)现在如果需要从windows服务器上下载Linux服务器文件:

a. 使用paramiko可以很好的解决以上问题,它仅需要在本地上安装相应的软件(python以及PyCrypto)
b. 对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助

02.paramiko基于用户名密码连接

2.1 远程执行命令

import paramiko

# 1 创建SSH对象
ssh = paramiko.SSHClient()
# 2 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 3 连接服务器
ssh.connect(hostname=1.1.1.3, port=22, username=root, password=chnsys@2016)

# 4 执行命令                                         #stdin标准输入: 自己输入的命令
stdin, stdout, stderr = ssh.exec_command(pwd)      # stdout标准输出:  命令执行结果
# 5 获取命令结果                                     #stderr标准错误:  命令执行报错的结果
res, err = stdout.read(), stderr.read()
result = res if res else err
print(result.decode())                              #运行结果: /root

# 6 关闭连接
ssh.close()

2.2 上传和下载

import paramiko

#1 连接客户端
transport = paramiko.Transport((10.1.0.50,22))
transport.connect(username=root,password=chnsys@2016)

#2 定义与客户端交互    将刚刚定义的transport当参数传递给他
sftp = paramiko.SFTPClient.from_transport(transport)
#3 将location.py 上传至服务器 /tmp/test.py
sftp.put(rC:\bbb\file.txt, /tmp/file.txt)

#4 将remove_path 下载到本地 local_path
sftp.get(/tmp/file.txt,rC:\bbb\file.txt)

#5 关闭连接
transport.close()

09.paramiko

原文:https://www.cnblogs.com/xiaoxiamiaichiyu/p/14588100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!