没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
paramiko模块 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。 因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时
资源推荐
资源详情
资源评论
python中使用中使用paramiko模块并实现远程连接服务器执行上传模块并实现远程连接服务器执行上传
下载功能下载功能
paramiko模块模块
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一
个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X,
Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作
时,paramiko是最佳工具之一。
因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。
通过ssh链接服务器并执行想要的命令,类似于XShell
ansible(远程批量管理服务器)底层源码其实就是paramiko模块实现的
安装
pip3 install paramiko
使用
前提须知:paramiko模块即支持用户名密码的方式,也支持公钥私钥的方式操作服务器
1.用户名密码的方式:
# 执行命令
import paramiko
# 创建链接对象
ssh = paramiko.SSHClient()
# 允许链接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 链接服务器
ssh.connect(hostname='服务器ip地址',port='端口号',username='用户名',password='密码')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ip a')
"""
stdin 是用来输入额外的参数的 -y
stdout 命令的返回结果
stderr 错误的结果
"""
# 获取命令执行的结果
res = stdout.read()
print(res.decode('utf-8'))
# 关闭链接
ssh.close()
2.公钥私钥的方式
首先在windows上产生公钥私钥对
可以用openssl工具产生,也可以用Git Bash工具产生(需要安装git)
1.打开 Git Bash工具 输入命令 ssh-keygen
2.输入完命令一直按回车即可
3.在 c/user/用户名下的文件/.ssh 的目录中生成了两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥
4.将公钥内容复制到你的linux服务器下的 /root/.ssh/authorized_keys文件中即可
复制私钥文件到项目根目录下,我这里重命名为a.txt
import paramiko
# 读取本地私钥
private_key = paramiko.RSAKey.from_private_key_file('a.txt')
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='服务器ip地址', port=22, username='用户名', pkey=private_key)
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls /')
资源评论
weixin_38745003
- 粉丝: 10
- 资源: 947
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Spring boot+ActiveMQ整合消息队列实现发布订阅、生产者消费者模型(适合开发人员了解学习ActiveMQ机制)
- 冒泡排序算法 - 排序算法
- 基于Spring boot+RabbitMQ整合消息队列实现四种消息模式(适合新手或者开发人员了解学习RabbitMQ机制)
- 圣诞树代码编程python
- 暴风电视刷机数据 65R5 屏V650DJ4-QS5 机编60000AM0T00 屏参30173306 V1.0.86版本
- 串口调试助手,支持GB2312编码
- phpmysqli.zip
- mysql和cmake 5.3相关安装包
- 基于C++与OpenCV实现图像预处理与连通域分析的Halcon连接应用
- golang go-zero gen 生成GORM model 生成脚本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功