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中用Spark模块的使用教程
Apr 13 Python
python中私有函数调用方法解密
Apr 29 Python
浅谈python中的getattr函数 hasattr函数
Jun 14 Python
Python字符串处理实例详解
May 18 Python
用Python PIL实现几个简单的图片特效
Jan 18 Python
基于Python实现签到脚本过程解析
Oct 25 Python
Python 实现try重新执行
Dec 21 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
利用python中集合的唯一性实现去重
Feb 11 Python
python简单的三元一次方程求解实例
Apr 02 Python
python drf各类组件的用法和作用
Jan 12 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 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 adodb操作mysql数据库
2009/03/19 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
php简单判断文本编码的方法
2015/07/30 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python 中的divmod数字处理函数浅析
2017/10/17 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
python实现字符串和数字拼接
2020/03/02 Python
Pytorch转tflite方式
2020/05/25 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python 装饰器重要在哪
2021/02/14 Python
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
2013年研究生毕业感言
2014/02/06 职场文书
高中生评语大全
2014/04/25 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
班主任经验交流材料
2014/12/16 职场文书
人生遥控器观后感
2015/06/11 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
详解MySQL的半同步
2021/04/22 MySQL
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
零基础学java之循环语句的使用
2022/04/10 Java/Android