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实现简单拆分PDF文件的方法
Jul 30 Python
python机器学习之神经网络(三)
Dec 20 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
php实现微信模板消息推送
2018/03/30 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
ie与ff下的event事件使用介绍
2013/11/25 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
Python中List.index()方法的使用教程
2015/05/20 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
Python3最长回文子串算法示例
2019/03/04 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
长城英文导游词
2015/01/30 职场文书
Kubernetes控制节点的部署
2022/04/01 Servers
R9700摩机记
2022/04/05 无线电