python paramiko实现ssh远程访问的方法


Posted in Python onDecember 03, 2013

安装paramiko后,看下面例子:

import paramiko
#设置ssh连接的远程主机地址和端口
t=paramiko.Transport((ip,port))
#设置登录名和密码
t.connect(username=username,password=password)
#连接成功后打开一个channel
chan=t.open_session()
#设置会话超时时间
chan.settimeout(session_timeout)
#打开远程的terminal
chan.get_pty()
#激活terminal
chan.invoke_shell()
然后就可以通过chan.send('command')和chan.recv(recv_buffer)来远程执行命令以及本地获取反馈。
例如:
chan.send('pwd')
print chan.recv(65535)

重点是,有些命令执行的时间长,不适当的receive回来可能得不到想要的结果,可以使用time.sleep()进行等待,或使用一些条件循环。
例如:

str=chan.recv(recv_buffer)
while not str.endswith('#'):
    str=chan.recv(recv_buffer)
Python 相关文章推荐
Python实现批量把SVG格式转成png、pdf格式的代码分享
Aug 21 Python
Python contextlib模块使用示例
Feb 18 Python
python 爬取微信文章
Jan 30 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
numpy.std() 计算矩阵标准差的方法
Jul 11 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
DjangoWeb使用Datatable进行后端分页的实现
May 18 Python
Python如何将模块打包并发布
Aug 30 Python
python-for x in range的用法(注意要点、细节)
May 10 Python
Python使用urllib2获取网络资源实例讲解
Dec 02 #Python
python读写文件操作示例程序
Dec 02 #Python
python通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 #Python
一个简单的python程序实例(通讯录)
Nov 29 #Python
Python时间戳与时间字符串互相转换实例代码
Nov 28 #Python
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 #Python
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 #Python
You might like
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php计算整个目录大小的方法
2015/06/01 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
为数据添加append,remove功能
2006/10/03 Javascript
ext读取两种结构的xml的代码
2008/11/05 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
php 修改密码实现代码
2017/05/24 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
详解python时间模块中的datetime模块
2016/01/13 Python
Python中常用信号signal类型实例
2018/01/25 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
小学数学教学反思
2014/02/02 职场文书
机动车登记业务委托书
2014/10/08 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python