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之玩转字符串(3)
Sep 14 Python
python实现从web抓取文档的方法
Sep 26 Python
使用Python程序抓取新浪在国内的所有IP的教程
May 04 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python实现Mysql数据库连接池实例详解
Apr 11 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
Python生成rsa密钥对操作示例
Apr 26 Python
pandas如何处理缺失值
Jul 31 Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python中zipfile压缩包模块的使用
May 14 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程序
2006/10/09 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python多进程fork()函数详解
2019/02/22 Python
详解python中递归函数
2019/04/16 Python
python使用requests.session模拟登录
2019/08/09 Python
python中dict()的高级用法实现
2019/11/13 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
协议书样本
2014/04/23 职场文书
优秀员工推荐信
2014/05/10 职场文书
排查整治工作方案
2014/06/09 职场文书
超市收银员岗位职责
2015/04/07 职场文书
2015年中秋寄语
2015/07/31 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书