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实例分享:快速查找出被挂马的文件
Jun 08 Python
Python实现简易端口扫描器代码实例
Mar 15 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
用Python实现读写锁的示例代码
Nov 05 Python
分析经典Python开发工程师面试题
Apr 08 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
python数据预处理方式 :数据降维
Feb 24 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 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使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP闭包实例解析
2014/09/08 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
php测试kafka项目示例
2020/02/06 PHP
javascript类型转换示例
2014/04/29 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
生成二维码方法汇总
2014/12/26 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
详解python配置虚拟环境
2019/04/08 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
python实现简易学生信息管理系统
2020/04/05 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
美发活动策划书
2014/01/14 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
学校施工安全责任书
2015/01/29 职场文书
我的1919观后感
2015/06/03 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
MySQL 条件查询的常用操作
2022/04/28 MySQL