Python实现建立SSH连接的方法


Posted in Python onJune 03, 2015

本文实例讲述了Python实现建立SSH连接的方法。分享给大家供大家参考。具体实现方法如下:

我需要实现一个Windows下远程连接到SSH服务器执行命令的功能,所以就在网上找资料。我的环境是:Windows7 64位,Python 2.7 32位。按照网上的说法,需要下载pycrypto和paramiko两个模块进行安装。最后下载的版本是pycrypto2.3和paramiko1.7.6。
安装过程也比较简单,先安装pycrypto后安装paramiko,解压后在命令提示符下切换到解压后的目录,输入python setup.py install就可以了。另外安装pycrypto前需要先安装mingw,不然会因为缺少编译器而提示缺少一个BAT文件。安装好mingw后,需要在Python安装目录下的Lib\distutils\文件夹里建立一个distutils.cfg文件,文件内容为:
[build]
compiler=mingw32

mingw的下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
pycrypto及paramiko的下载与安装请参考:《windows下安装python paramiko模块的代码》

安装好以后就可以编写写代码了。由于我的SSH服务器只需要用户名和密码就可以连接,应该说属于最简单的一种了。

下面是一个例子,相信一看就懂了:
stdout.readlines()返回一个列表,一般来说,Linux命令的每行输出存储为一个元素,且已经带了换行符。

import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('192.168.8.248', 22, username='root', password='password', timeout=4)
stdin, stdout, stderr = client.exec_command('ls -l')
for std in stdout.readlines():
  print std,
client.close()

输出的结果为:

>>> 
总计 184804
-rw------- 1 root root    973 05-19 20:27 anaconda-ks.cfg
-rw-r--r-- 1 root root   13895 05-19 20:27 install.log
-rw-r--r-- 1 root root   3058 05-19 20:25 install.log.syslog
-rw-r--r-- 1 root root 189008625 05-28 09:55 tmp
>>>

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
Python迭代和迭代器详解
Nov 10 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
python入门之基础语法学习笔记
Feb 08 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
Python读取JSON数据操作实例解析
May 18 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
浅谈Python3中print函数的换行
Aug 05 Python
90行Python代码开发个人云盘应用
Apr 20 Python
Python+Appium自动化测试的实战
Jun 30 Python
解密Python中的描述符(descriptor)
Jun 03 #Python
python实用代码片段收集贴
Jun 03 #Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 #Python
python通过ssh-powershell监控windows的方法
Jun 02 #Python
Python lxml模块安装教程
Jun 02 #Python
Python脚本文件打包成可执行文件的方法
Jun 02 #Python
python统计cpu利用率的方法
Jun 02 #Python
You might like
谈谈新手如何学习PHP
2006/12/14 PHP
php include类文件超时问题处理
2015/02/06 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
Python中的面向对象编程详解(下)
2015/04/13 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
化工专业个人的求职信范文
2013/11/28 职场文书
保险专业求职信
2014/07/07 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
格林童话读书笔记
2015/06/30 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
python爬虫--selenium模块
2021/03/31 Python
js中Object.create实例用法详解
2021/10/05 Javascript
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android