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读文件逐行处理的示例代码分享
Dec 27 Python
使用Python构建Hopfield网络的教程
Apr 14 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
Python使用字典的嵌套功能详解
Feb 27 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 Python
scrapy处理python爬虫调度详解
Nov 23 Python
python 发送邮件的四种方法汇总
Dec 02 Python
python本地文件服务器实例教程
May 02 Python
python 爬取吉首大学网站成绩单
Jun 02 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实现选择排序的解决方法
2013/05/04 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
vue实现记事本功能
2019/06/26 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python根据成绩分析系统浅析
2019/02/11 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
Linux如何为某个操作添加别名
2013/03/01 面试题
爷爷追悼会答谢词
2014/01/24 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
销售员岗位职责
2014/06/09 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
灵山大佛导游词
2015/02/04 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android