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设计模式之单例模式实例
Apr 26 Python
在Python中处理时间之clock()方法的使用
May 22 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
python 绘制场景热力图的示例
Sep 23 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 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 pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
javascript中的this详解
2014/12/08 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
python进阶教程之循环对象
2014/08/30 Python
python使用pil生成缩略图的方法
2015/03/26 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
简单了解django缓存方式及配置
2019/07/19 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
python 实现矩阵按对角线打印
2019/11/29 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
django使用channels实现通信的示例
2020/10/19 Python
python 实现的车牌识别项目
2021/01/25 Python
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
八年级物理教学反思
2014/01/19 职场文书
家长给小学生的评语
2014/01/30 职场文书
新春寄语大全
2014/04/09 职场文书
单位租房协议范本
2014/12/03 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android