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按照多个字符对字符串进行分割的方法
Mar 17 Python
Python抓取百度查询结果的方法
Jul 08 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
python变量不能以数字打头详解
Jul 06 Python
利用Python中unittest实现简单的单元测试实例详解
Jan 09 Python
python编程培训 python培训靠谱吗
Jan 17 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
python列表的逆序遍历实现
Apr 20 Python
python函数中将变量名转换成字符串实例
May 11 Python
python 如何上传包到pypi
Dec 24 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
用Flash图形化数据(二)
2006/10/09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
详解python调度框架APScheduler使用
2017/03/28 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python多继承顺序实例分析
2018/05/26 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
Python全面分析系统的时域特性和频率域特性
2020/02/26 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
搞笑获奖感言
2014/01/30 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
施工安全汇报材料
2014/08/17 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
python playwright 自动等待和断言详解
2021/11/27 Python