python SSH模块登录,远程机执行shell命令实例解析


Posted in Python onJanuary 12, 2018

用python SSH模块登录,并在远程机执行shell命令

(在CentOS 7 环境试验成功, Redhat 系列应该是兼容的。)

先安装必须的模块

# yum install python-dev
# yum install python-devel
# pip install pycrypto
# pip install paramiko
# pip install ssh

这些都成功后, 编写一个Python脚本

# vim remote_run.py
import ssh
# 新建一个ssh客户端对象
myclient = ssh.SSHClient()
# 设置成默认自动接受密钥
myclient.set_missing_host_key_policy(ssh.AutoAddPolicy())
# 连接远程主机
myclient.connect("xxx.coder4.com", port=22, username="xxxx", password="xxxx")
# 在远程机执行shell命令
stdin, stdout, stderr = client.exec_command("ls -l")
# 读返回结果
print stdout.read()
# 在远程机执行python脚本命令
stdin, stdout, stderr = client.exec_command("python /home/test.py")

建立一个SSHClient对象以后,除了执行命令,还可以开启一个sftp的session,用于传输文件、创建文件夹等等。

# 新建 sftp session
sftp = client.open_sftp()
 
# 创建目录
sftp.mkdir('abc')
 
# 从远程主机下载文件,如果失败, 这个可能会抛出异常。
sftp.get('test.sh', '/home/testl.sh')
 
# 上传文件到远程主机,也可能会抛出异常
sftp.put('/home/test.sh', 'test.sh')

总结

以上就是本文关于python SSH模块登录,远程机执行shell命令实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python实现竖排打印传单手机号码易撕条
Mar 16 Python
Python 功能和特点(新手必学)
Dec 30 Python
从django的中间件直接返回请求的方法
May 30 Python
python中reader的next用法
Jul 24 Python
python 产生token及token验证的方法
Dec 26 Python
python自动化之Ansible的安装教程
Jun 13 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
wxPython实现分隔窗口
Nov 19 Python
python [:3] 实现提取数组中的数
Nov 27 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
Python自省及反射原理实例详解
Jul 06 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 Python
python opencv实现任意角度的透视变换实例代码
Jan 12 #Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 #Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 #Python
微信跳一跳python自动代码解读1.0
Jan 12 #Python
Tornado 多进程实现分析详解
Jan 12 #Python
快速了解Python相对导入
Jan 12 #Python
Python实现翻转数组功能示例
Jan 12 #Python
You might like
域名和cookie问题(域名后缀)
2012/10/10 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
Python中字符串的修改及传参详解
2016/11/30 Python
python操作 hbase 数据的方法
2016/12/18 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
分享vim python缩进等一些配置
2018/07/02 Python
python实现网页自动签到功能
2019/01/21 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
某公司面试题
2012/03/05 面试题
会计电算化个人求职信范文
2014/01/24 职场文书
诚信考试承诺书
2014/03/27 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
无犯罪记录证明
2014/09/19 职场文书