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使用cookielib库示例分享
Mar 03 Python
python进程管理工具supervisor使用实例
Sep 17 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
Python函数返回不定数量的值方法
Jan 22 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
python同时遍历两个list用法说明
May 02 Python
Python替换NumPy数组中大于某个值的所有元素实例
Jun 08 Python
Python 存取npy格式数据实例
Jul 01 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
python的Template使用指南
2014/09/11 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
大学生未来职业生涯规划书
2014/02/15 职场文书
《中华少年》教学反思
2014/02/15 职场文书
个人收入证明范本
2014/09/18 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
入党积极分子群众意见
2015/06/01 职场文书
董事长开业致辞
2015/07/29 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python