Python paramiko模块使用解析(实现ssh)


Posted in Python onAugust 30, 2019

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作

安装paramiko模块

pip3 install paramiko

基于用户密码方式

import paramiko

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

# 执行命令
# stdin:标准输入(就是你输入的命令);stdout:标准输出(就是命令执行结果);stderr:标准错误(命令执行过程中如果出错了就把错误打到这里),stdout和stderr仅会输出一个
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = (stdout.read().decode('utf-8'))  # 这个有问题,如果执行的命令是错误的,会不显示错误,可以修改一下,先判断stdout有没有值,如果输出没有,就显示错误
print(result)
# 关闭连接
ssh.close()

基于公钥密钥连接

import paramiko

# 指定私钥路径
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='10.0.0.171', port=22, username='root', pkey=private_key)

# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
print(result.decode())
# 关闭连接
ssh.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用urllib2实现发送带cookie的请求
Apr 28 Python
Python中的下划线详解
Jun 24 Python
Python类的动态修改的实例方法
Mar 24 Python
python实现简单登陆系统
Oct 18 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
在python中画正态分布图像的实例
Jul 08 Python
python实现超市管理系统(后台管理)
Oct 25 Python
Python中求对数方法总结
Mar 10 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 Python
Python Matplotlib库实现画局部图
Nov 17 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 #Python
python实现生成Word、docx文件的方法分析
Aug 30 #Python
python解析yaml文件过程详解
Aug 30 #Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 #Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 #Python
python 命令行传入参数实现解析
Aug 30 #Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 #Python
You might like
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
php动态生成函数示例
2014/03/21 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
php开发工具有哪五款
2015/11/09 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
js自定义回调函数
2015/12/13 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Python自定义线程类简单示例
2018/03/23 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
奶茶专卖店创业计划书
2014/01/18 职场文书
辩论赛主持词
2014/03/18 职场文书
食品安全承诺书
2014/05/22 职场文书
挂靠协议书
2015/01/27 职场文书
钢琴师观后感
2015/06/12 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python