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 urlopen 使用小示例
Sep 06 Python
Python中Random和Math模块学习笔记
May 18 Python
Python实现字符串格式化的方法小结
Feb 20 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
不可错过的十本Python好书
Jul 06 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 Python
利用python做数据拟合详情
Nov 17 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教程 基本语法
2009/10/23 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python的Django框架使用入门指引
2015/04/15 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
大专生自我评价
2014/01/28 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
幼儿园老师寄语
2014/04/03 职场文书
鉴定评语大全
2014/05/05 职场文书
认错检讨书
2014/10/02 职场文书
十八大标语口号
2014/10/09 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL