使用Python的Paramiko模块登陆SSH

paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
python的paramiko模块可以方便的实现ssh登录,并执行命令。

pycrypto 与 paramiko下载到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2017年资料/1月/26日/使用Python的Paramiko模块登陆SSH/

下载方法见

------------------------------------------分割线------------------------------------------

1. paramiko模块安装 1.1安装pycrypto库

pycrypto库的主页在这里:https://www.dlitz.net/software/pycrypto/

pycrypto库安装方法

python setup.py build && python setup.py install 1.2安装paramiko

paramiko库的主页在这里:https://pypi.python.org/pypi/paramiko
paramiko库的安装方法超级简单。

python setup.py build && python setup.py install 2.简单使用 2.1 执行远程命令 #!/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() 2.2 上传文件到远程 #!/usr/bin/python import paramiko t = paramiko.Transport(("某IP地址",22)) t.connect(username = "用户名", password = "口令") sftp = paramiko.SFTPClient.from_transport(t) remotepath='/tmp/test.txt' localpath='/tmp/test.txt' sftp.put(localpath,remotepath) t.close() 2.3 上传文件到远程 #!/usr/bin/python import paramiko t = paramiko.Transport(("某IP地址",22)) t.connect(username = "用户名", password = "口令") sftp = paramiko.SFTPClient.from_transport(t) remotepath='/tmp/test.txt' localpath='/tmp/test.txt' sftp.get(remotepath, localpath) t.close() 3.高级用法

通常需要对多个服务器或者虚拟机进行管理,可以采用批量的方式进行。

#-*- coding: utf-8 -*- #!/usr/bin/python import paramiko import threading def ssh2(ip,username,passwd,cmd): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,22,username,passwd,timeout=5) for m in cmd: stdin, stdout, stderr = ssh.exec_command(m) out = stdout.readlines() for o in out: print o, #屏幕输出 print '%s\tOK\n'%(ip) ssh.close() except : print '%s\tError\n'%(ip) if __name__=='__main__': cmd = ['echo hello!']#需要执行的命令列表 username = "root" #用户名 passwd = "root" #密码 threads = [] #多线程 print "Begin excute......" for i in range(1,254): ip = '192.168.1.'+str(i) a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd)) a.start()

零基础如何入门Python

Ubuntu 14.04安装Python 3.3.5 

CentOS上源码安装Python3.4 

Ubuntu 14.04下Python数据处理环境搭建 

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

在CentOS 6.5上安装Python2.7 

在Ubuntu下用Python搭建桌面算法交易研究环境

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/73d5344480a28d4626692c14391d3d5a.html