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根据经纬度计算距离示例
Feb 16 Python
python实现将html表格转换成CSV文件的方法
Jun 28 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
Python字典的核心底层原理讲解
Jan 24 Python
新手入门Python编程的8个实用建议
Jul 12 Python
Django 数据库同步操作技巧详解
Jul 19 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 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
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
XENON基于JSON变种
2010/07/27 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
简单了解python的内存管理机制
2019/07/08 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
党校培训思想汇报
2014/01/03 职场文书
素质拓展感言
2014/01/29 职场文书
单位活动策划方案
2014/08/17 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
银行催款通知书
2015/04/17 职场文书
音乐之声观后感
2015/06/04 职场文书
个人收入证明范本
2015/06/12 职场文书
教师读书笔记
2015/06/29 职场文书
高中生军训感言
2015/08/01 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers