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实现bitmap数据结构详解
Feb 17 Python
python模块之StringIO使用示例
Apr 08 Python
VSCode下好用的Python插件及配置
Apr 06 Python
Python装饰器知识点补充
May 28 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
python线程信号量semaphore使用解析
Nov 30 Python
彻底搞懂 python 中文乱码问题(深入分析)
Feb 28 Python
pyspark 随机森林的实现
Apr 24 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
Python开发五子棋小游戏
Apr 28 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
tp5修改(实现即点即改)
2019/10/18 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
javascript 实现map集合
2015/04/03 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python模块常用用法实例详解
2019/10/17 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
培训心得体会
2013/12/29 职场文书
人力资源经理自我评价
2014/01/04 职场文书
机关门卫制度
2014/02/01 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
个人考核材料
2014/05/15 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
务工证明怎么写
2015/06/18 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
给领导敬酒词
2015/08/12 职场文书
教师培训学习心得体会
2016/01/21 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
Spring实现内置监听器
2021/07/09 Java/Android
Nginx报404错误的详细解决方法
2022/07/23 Servers