python第三方模块之paramiko模块

目录:

  • paramiko模块介绍
  • paramiko模块安装
  • paramiko模块使用

一、paramiko模块介绍

paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。它包含两个常用模块,SSHClient()模块,SFTPClient()模块。

二、paramiko模块安装

pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto
pip3 install pycrypto
pip3 install paramiko

三、paramiko模块使用

1、执行远程命令SSHClient()模块

 1 #!/usr/bin/python
 2
 3 import paramiko
 4
 5
 6
 7 ssh = paramiko.SSHClient()
 8
 9 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
10
11 ssh.connect("某IP地址",22,"用户名", "口令")
12
13 stdin, stdout, stderr = ssh.exec_command("你的命令")
14
15 print stdout.readlines()
16
17 ssh.close()

2、执行远程命令SSHClient()模块之密钥登录

 1 import paramiko
 2
 3 private_key_path = ‘/home/auto/.ssh/id_rsa‘
 4 key = paramiko.RSAKey.from_private_key_file(private_key_path)
 5
 6 ssh = paramiko.SSHClient()
 7 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 8 ssh.connect(‘主机名 ‘, 端口, ‘用户名‘, key)
 9
10 stdin, stdout, stderr = ssh.exec_command(‘df‘)
11 print stdout.read()
12 ssh.close()

 1 import paramiko
 2
 3 pravie_key_path = ‘/home/auto/.ssh/id_rsa‘
 4 key = paramiko.RSAKey.from_private_key_file(pravie_key_path)
 5
 6 t = paramiko.Transport((‘182.92.219.86‘,22))
 7 t.connect(username=‘wupeiqi‘,pkey=key)
 8
 9 sftp = paramiko.SFTPClient.from_transport(t)
10 sftp.put(‘/tmp/test3.py‘,‘/tmp/test3.py‘)
11
12 t.close()
13
14 import paramiko
15
16 pravie_key_path = ‘/home/auto/.ssh/id_rsa‘
17 key = paramiko.RSAKey.from_private_key_file(pravie_key_path)
18
19 t = paramiko.Transport((‘182.92.219.86‘,22))
20 t.connect(username=‘wupeiqi‘,pkey=key)
21
22 sftp = paramiko.SFTPClient.from_transport(t)
23 sftp.get(‘/tmp/test3.py‘,‘/tmp/test4.py‘)
24
25 t.close()

3、上传文件到远程SFTPClient()模块

 1 #!/usr/bin/python
 2
 3 import paramiko
 4
 5
 6
 7 t = paramiko.Transport(("某IP地址",22))
 8
 9 t.connect(username = "用户名", password = "口令")
10
11 sftp = paramiko.SFTPClient.from_transport(t)
12
13 remotepath=‘/tmp/test.txt‘
14
15 localpath=‘/tmp/test.txt‘
16
17 sftp.put(localpath,remotepath)
18
19 t.close()

4、远程下载到本地SFTPClient()模块

 1 import paramiko
 2
 3
 4
 5 t = paramiko.Transport(("某IP地址",22))
 6
 7 t.connect(username = "用户名", password = "口令")
 8
 9 sftp = paramiko.SFTPClient.from_transport(t)
10
11 remotepath=‘/tmp/test.txt‘
12
13 localpath=‘/tmp/test.txt‘
14
15 sftp.get(remotepath, localpath)
16
17 t.close()

5、整合使用:

 1 #coding:utf-8
 2 import paramiko
 3 import uuid
 4
 5 class SSHConnection(object):
 6
 7     def __init__(self, host=‘192.168.2.103‘, port=22, username=‘root‘,pwd=‘123456‘):
 8         self.host = host
 9         self.port = port
10         self.username = username
11         self.pwd = pwd
12         self.__k = None
13
14     def connect(self):
15         transport = paramiko.Transport((self.host,self.port))
16         transport.connect(username=self.username,password=self.pwd)
17         self.__transport = transport
18
19     def close(self):
20         self.__transport.close()
21
22     def upload(self,local_path,target_path):
23         # 连接,上传
24         # file_name = self.create_file()
25         sftp = paramiko.SFTPClient.from_transport(self.__transport)
26         # 将location.py 上传至服务器 /tmp/test.py
27         sftp.put(local_path, target_path)
28
29     def download(self,remote_path,local_path):
30         sftp = paramiko.SFTPClient.from_transport(self.__transport)
31         sftp.get(remote_path,local_path)
32
33     def cmd(self, command):
34         ssh = paramiko.SSHClient()
35         ssh._transport = self.__transport
36         # 执行命令
37         stdin, stdout, stderr = ssh.exec_command(command)
38         # 获取命令结果
39         result = stdout.read()
40         print (str(result,encoding=‘utf-8‘))
41         return result
42
43 ssh = SSHConnection()
44 ssh.connect()
45 ssh.cmd("ls")
46 ssh.upload(‘s1.py‘,‘/tmp/ks77.py‘)
47 ssh.download(‘/tmp/test.py‘,‘kkkk‘,)
48 ssh.cmd("df")
49 ssh.close()

时间: 2024-11-09 02:36:53

python第三方模块之paramiko模块的相关文章

python实战第一天-paramiko模块并练习

操作系统 Ubuntu 15.10 IDE & editor JetBrains PyCharm 5.0.2 ipython3 Python版本 python-3.4.3 安装paramiko pip3 install paramiko [email protected]:~$ pip3 install paramiko Collecting paramiko Downloading paramiko-1.16.0-py2.py3-none-any.whl (169kB) 100% |█████

python之资产采集(paramiko模块)

笔记代码: client.py # import subprocess # v1 = subprocess.getoutput("ipconfig") # value1 = v1[20:30] # # v2=subprocess.getoutput("dir") # value2 = v2[0:5] # # #连接数据库,写到数据库 # url = "http://127.0.0.1:8000/asset.html" # import reque

快速win8从头安装python直到安装好paramiko模块

快就快在,慢速的官方资源链接都换成国内的,这样下载安装快多了. 重装python,对自己也是个很好的锻炼! 1.安装python27,不去官网,官网太慢,去http://rj.baidu.com/search/index/?kw=python%25202.7下一个 然后把python安装路径加到系统变量,同时把其下Script目录也加进去方便使用pip. 2.安装pip win8有powershell,简单多了, powershell运行: (Invoke-WebRequest https://

Python基础 - 第九天 - paramiko模块、进程、线程

本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事件 10.队列 一.paramiko模块使用 1.paramiko模块简介 ? paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric

【PYTHON模块】paramiko模块与主机SSH连接

还记得前一节做的socket和socketserver吗?写了很多实现了一个小功能,但是今天的paramiko真让人有种土枪换炮的感觉! paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台.利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输. 本文只演示paramiko连接li

Python 第三方库 进度条模块 tqdm的使用方法

使用方法一: tqdm tqdm(list)方法可以传入任意一种list,比如数组,同时tqdm中不仅仅可以传入list, 同时可以传入所有带len方法的可迭代对象,这里只以list对象为例: from tqdm import tqdm from time import sleep for i in tqdm(range(1000)): sleep(0.1) 或是: from tqdm import tqdm from time import sleep for i in tqdm(['a',

Python 学习笔记 - Paramiko 模块

Python提供了一个Paramiko模块,允许我们通过SSH 对远程系统进行操作,上传和下载文件.他的使用很直观,下面直接看例子. 例1 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author Yuan Li import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko

利用paramiko模块批量查看远程机器上指定进程的相关信息

#! /usr/bin/env python #coding:utf-8 #通过paramiko模块,获得远程机器的指定进程相关信息:     import paramiko   host_lists=(             ('node1','172.16.41.151'),             ('node2','172.16.41.152'),             ('node3','172.16.41.153'),             ('node4','172.16.4

windows2007环境Python3.5下paramiko模块的安装

Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,paramiko模块依赖于pycrypto模块. 安装过程参考:http://www.php.cn/python-tutorials-358832.html https://blog.csdn.net/hamutailang_/article/details/78895798 原文地址:https://www.cnblogs.com/gangzi4321/p/10962338.html