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之玩转字符串(3)
Sep 14 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
python获取引用对象的个数方式
Dec 20 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也可以?成Shell Script
2006/10/09 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php短址转换实现方法
2015/02/25 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
JavaScript 指导方针
2007/04/05 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
jQuery基础知识小结
2014/12/22 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
JAVA程序员面试题
2012/10/03 面试题
数控技术专科生自我评价
2014/01/08 职场文书
小学生暑假感言
2014/02/06 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
我的生日感言
2015/08/03 职场文书
2019个人工作总结
2019/06/21 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL