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 Web框架Flask下网站开发入门实例
Feb 08 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
python实现实时监控文件的方法
Aug 26 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
python指定写入文件时的编码格式方法
Jun 07 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
记一次django内存异常排查及解决方法
Aug 07 Python
python跨文件使用全局变量的实现
Nov 17 Python
java字符串格式化输出实例讲解
Jan 06 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
Cannot modify header information错误解决方法
2008/10/08 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
thinkphp缓存技术详解
2014/12/09 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
RetroStage德国:复古服装
2019/02/03 全球购物
办理暂住证介绍信
2014/01/11 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
小平小道观后感
2015/06/09 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
python基础之停用词过滤详解
2021/04/21 Python
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
JavaScript实现简单拖拽效果
2021/09/15 Javascript