设为首页 收藏本站
查看: 900|回复: 0

[经验分享] python安装需要安装paramiko模块

[复制链接]

尚未签到

发表于 2018-8-11 13:20:19 | 显示全部楼层 |阅读模式
  一、介绍
  1.最近手头有个脚本用于远程批量传输文件的。由于系统本身环境兼容不是很好,所以开始升级配置环境。
  2.paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
  由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux,Solaris,BSD,MacOSX,Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。
  二、安装
  1.由于centos5.9的版本是2.4.3的,所以首先得将python进行升级。
wget  http://down1.chinaunix.net/distfiles/Python-2.7.3.tar.bz2  
tar jxvf  Python-2.7.3.tar.bz2
  
./configure --prefix=/usr/local/Python-2.7.3/
  
make  && make install
  
mv  /usr/bin/python /usr/bin/python_old
  
ln  -s  /usr/local/Python-2.7.3/bin/python /usr/bin/python
  2.以上对python进行了升级。下面开始安装paramiko模块,安装paramiko模块需要先安装PyCrypto的模块。
wget http://down1.chinaunix.net/distfiles/pycrypto-2.0.1.tar.gz  
tar zxvf  pycrypto-2.0.1.tar.gz
  
python  setup.py  install
  3.安装完PyCrypto的模块后,开始安装
wget http://down1.chinaunix.net/distfiles/paramiko-1.5.4.zip  
unzip  paramiko-1.5.4.zip
  
python  setup.py  install
  
python test.py((在paramiko的目录下))
  4.安装完这些之后。基本就算完成了。下面就是测试下。
[root@localhost paramiko-1.7.6]# python test.py  
........................................................................................................... 9s 9s ......... 5s 1s ......... 13s ......... 5s ......... ........ .....................
  
----------------------------------------------------------------------
  
Ran 108 tests in 129.948s
  
OK
  
出现这样的就表示成功了,我们再测试一把。
[root@localhost ~]# python  
Python 2.7.3 (default, Oct  2 2013, 03:25:17)
  
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
  
Type "help", "copyright", "credits" or "license" for more information.
  
>>> import paramiko
  
>>>
  
呵呵,这样就安装成功了
  三:使用paramiko
  如果大家感觉安装paramiko还是略有麻烦的话,当使用到paramiko提供的方便时便会觉得这是十分值得的。
  下面是两种使用paramiko连接到linux服务器的代码
  方式一:
ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect("某IP地址",22,"用户名", "口令")上面的第二行代码的作用是允许连接不在know_hosts文件中的主机。  方式二:
t = paramiko.Transport((“主机”,”端口”))t.connect(username = “用户名”, password = “口令”)如果连接远程主机需要提供密钥,上面第二行代码可改成:t.connect(username = “用户名”, password = “口令”, hostkey=”密钥”)   下面给出实际的例子:
  3.1windows对linux运行任意命令,并将结果输出
  如果linux服务器开放了22端口,在windows端,我们可以使用paramiko远程连接到该服务器,并执行任意命令,然后通过print或其它方式得到该结果,
  代码如下:
#!/usr/bin/python  
import paramiko
  
ssh = paramiko.SSHClient()
  
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  
ssh.connect("某IP地址",22,"用户名", "口令")
  
stdin, stdout, stderr = ssh.exec_command("你的命令")
  
print stdout.readlines()
  
ssh.close()
  其中的”你的命令”可以任意linux支持的命令,如一些常用的命令:
df:查看磁盘使用情况uptime:显示系统运行时间信息cat:显示某文件内容mv/cp/mkdir/rmdir:对文件或目录进行操作/sbin/service/ xxxservice start/stop/restart:启动、停止、重启某服务netstat -ntl |grep 8080:查看8080端口的使用情况  或者 nc -zv localhost :查看所有端口的使用情况 find / -name XXX:查找某文件  这样一来,对于linux的任何操作几乎都可以通过windows端完成,如果对该功能进行引申,还可以同时管理多台服务器。
  3.2从widnows端下载linux服务器上的文件
#!/usr/bin/python import paramikot = paramiko.Transport((“主机”,”端口”))t.connect(username = “用户名”, password = “口令”)sftp = paramiko.SFTPClient.from_transport(t)remotepath=’/var/log/system.log’localpath=’/tmp/system.log’sftp.get(remotepath, localpath)t.close() 3.3从widnows端上传文件到linux服务器#!/usr/bin/python  
import paramiko
  
t = paramiko.Transport((“主机”,”端口”))
  
t.connect(username = “用户名”, password = “口令”)
  
sftp = paramiko.SFTPClient.from_transport(t)
  
remotepath=’/var/log/system.log’
  
localpath=’/tmp/system.log’
  
sftp.put(localpath,remotepath)
  
t.close()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-550188-1-1.html 上篇帖子: Python开发双工聊天软件 下篇帖子: python自定义查找文件内容
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表