我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 之 paramiko 模块

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 之 paramiko 模块

paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接

1.安装

#paramiko模块的安装需要先安装PyCrypto模块
wget  https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
wget
cd pycrypto-2.6.1
python setup.py build
python setup.py install
https://pypi.python.org/packages/source/p/paramiko/paramiko-1.13.0.tar.gz
cd paramiko-1.13.0
python setup.py build
python setup.py install

yum安装

yum -y  install python-crypto python-paramiko

测试

>>> import paramiko
>>> dir(paramiko)
['AUTH_FAILED', 'AUTH_PARTIALLY_SUCCESSFUL', 'AUTH_SUCCESSFUL', 'Agent', 'AgentKey', 'AuthHandler', 'AuthenticationException', 'AutoAddPolicy', 'BadAuthenticationType', 'BadHostKeyException', 'BaseSFTP', 'BufferedFile', 'Channel', 'ChannelException', 'ChannelFile', 'DSSKey', 'HostKeys', 'InteractiveQuery', 'Message', 'MissingHostKeyPolicy', 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED', 'OPEN_FAILED_CONNECT_FAILED', 'OPEN_FAILED_RESOURCE_SHORTAGE', 'OPEN_FAILED_UNKNOWN_CHANNEL_TYPE', 'OPEN_SUCCEEDED', 'PKey', 'Packetizer', 'PasswordRequiredException', 'RSAKey', 'RejectPolicy', 'SFTP', 'SFTPAttributes', 'SFTPClient', 'SFTPError', 'SFTPFile', 'SFTPHandle', 'SFTPServer', 'SFTPServerInterface', 'SFTP_BAD_MESSAGE', 'SFTP_CONNECTION_LOST', 'SFTP_EOF', 'SFTP_FAILURE', 'SFTP_NO_CONNECTION', 'SFTP_NO_SUCH_FILE', 'SFTP_OK', 'SFTP_OP_UNSUPPORTED', 'SFTP_PERMISSION_DENIED', 'SSHClient', 'SSHConfig', 'SSHException', 'SecurityOptions', 'ServerInterface', 'SubsystemHandler', 'Transport', 'WarningPolicy', '__all__', '__author__', '__builtins__', '__date__', '__doc__', '__file__', '__license__', '__name__', '__package__', '__path__', '__version__', '__version_info__', 'agent', 'auth_handler', 'ber', 'buffered_pipe', 'channel', 'client', 'common', 'compress', 'config', 'dsskey', 'file', 'hostkeys', 'kex_gex', 'kex_group1', 'message', 'packet', 'pipe', 'pkey', 'primes', 'randpool', 'resource', 'rng', 'rng_posix', 'rsakey', 'server', 'sftp', 'sftp_attr', 'sftp_client', 'sftp_file', 'sftp_handle', 'sftp_server', 'sftp_si', 'ssh_exception', 'sys', 'transport', 'util']
>>>

例子1:ssh到多台主机,执行相同的命令。

#!/usr/bin/python
import paramiko
USER = 'root'
PASSWORD = '123456'
COMMAND = 'mkdir 888'
for line in open('/root/ip.txt'):
    IP = line
    paramiko.util.log_to_file('/root/zhu.log')
    s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname=IP,username=USER,password=PASSWORD)
    s.exec_command(COMMAND)
    s.close
###############
[root@zhu ~]# cat ip.txt
192.168.56.101
192.168.56.102

例子2:把指定的文件上传到多台主机上。

#!/usr/bin/python
import paramiko
PORT = 22
USER = 'root'
PASSWORD = '123456'
REMORE_PATH = '/tmp/qianshan.txt'
LOCAL_PATH = '/root/1.txt'
for line in open('/root/ip.txt'):
    IP = line
    t = paramiko.Transport((IP,PORT))
    t.connect(username=USER,password=PASSWORD)
    s = paramiko.SFTPClient.from_transport(t)
    s.put(LOCAL_PATH,REMORE_PATH)
    t.close
###################
192.168.56.101
192.168.56.102
#########################################################################

paramiko.SSHClient() :建立一个连接到ssh服务器的实例。

#常见用法如下:
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在know_hosts中的主机,默认是拒绝的。
s.connect(hostname=IP,username=USER,password=PASSWORD) #连接到远程主机
s.exec_command() #在远程主机上执行命令
exec_command(self, command, bufsize=-1, timeout=None, get_pty=False) #作为paramiko.SSHClient()的方法,该方法用于在ssh服务器上执行命令,命令执行的输入,输出流作为python的类文件对象返回,命令执行返回的是一个元组,
所以查看命令的执行输出,常用方法如下:
stdin, stdout, stderr = s.exec_command('ls')
print stdout.readlines()

简单的同时在多台主机上执行相同的指令:

[root@zhu ~]# ./zhu.py 192.168.56.102 192.168.56.101 ' ls -l'
192.168.56.102:
总用量 4
drwxr-xr-x. 2 root root 4096 5月   7 15:36 mypackages
192.168.56.101:
总用量 56
-rwxr-xr-x. 1 root root   432 5月   8 14:42 jiang.py
drwxr-xr-x. 2 root root  4096 5月   5 17:09 mypython
drwxr-xr-x. 2 root root  4096 5月   5 14:28 mysource
drwxr-xr-x. 3 root root  4096 5月   1 16:22 mywork
drwxr-xr-x. 2 root root 36864 5月   5 17:09 pythoncook
-rwxr-xr-x. 1 root root   535 5月   8 15:10 zhu.py
[root@zhu ~]# cat zhu.py
#!/usr/bin/python
import paramiko
import sys
USER = 'root'
PASSWORD = '123456'
COMMAND = sys.argv[-1]
if len(sys.argv[1:]) < 2:
    print 'The arguments must more than two'
else:
    for IP in sys.argv[1:-1]:
        print IP + ':'
        s = paramiko.SSHClient()
        s.set_missing_host_key_policy(paramiko.AutoAddPolicy())   
        s.connect(hostname=IP,username=USER,password=PASSWORD)
        for i in s.exec_command(COMMAND)[1].readlines():
            print i,
        s.close
#how to use: python zhu.py ip1 ip2 'command'




























免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 之 paramiko 模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 之 paramiko 模块

paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接1.安装#paramiko模块的安装需要先安装PyCrypto模块wget https://pypi.python.org
2023-01-31

python模块之paramiko学习<

简介:paramiko是python(2.2或更高)的模块,遵循SSH2协议实现了安全(加密和认证)连接远程机器。安装所需软件包:http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto
2023-01-31

python paramiko模块

paramiko模块是python中很重要的模块,他的功能呢主要分为两大块功能。一个是模拟SSH功能登录到远程主机上执行命令。一个是模拟SFTP功能传输文件。paramiko支持密码登陆方式和免密码的私钥登录方式。密码登陆方式代码如下:#!
2023-01-31

python的paramiko模块

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。  由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BS
2023-01-31

python paramiko模块的使

一般使用paramiko的功能就是通过ssh远程执行命令,远程(上传、下载)传输文件等等依赖包:/usr/local/python27/bin/pip install pycrypto下载包 paramiko#wget http://en.
2023-01-31

python paramiko模块简介

python paramiko模块简介一:简介    paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。    由于使用的是python这样的能够跨平台运行的语言,所以所有py
2023-01-31

python paramiko模块讲解

Windows下有很多非常好的SSH客户端,比如Putty。在Python的世界里,你可以使用原始套接字和一些加密函数创建自己的SSH客户端或服务端,但如果有现成的模块,为什么还要自己实现呢。使用Paramiko库中的PyCrypto能够让
2023-01-31

python模块paramiko与ssh

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。paramiko支持Linux, Solaris, BSD, MacOS X, Windows等平台通过SSH从一个平台连接到
2023-01-31

Python paramiko模块(实现

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作安装paramiko模块pip3 install paramiko基于用户密码方式import paramiko# 创建SSH对象s
2023-01-31

python下paramiko模块ssh

python下有个paramiko模块,这个模块可以实现ssh登录linux服务器,下面贴出代码,注意,我在centos5.6下,python2.6.5,paramiko-1.7的版本下测试成功。。。#!/usr/bin/env pytho
2023-01-31

python paramiko模块管理S

下面是两种使用paramiko连接到linux服务器的代码方式一:ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ss
2023-01-31

Python学习—paramiko模块实

paramiko模块paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。import paramiko# ssh root@ip# 创建一个ssh对象client
2023-01-31

python的paramiko模块报错解

写了一个Python脚本内容如下:#-*- coding:utf-8 -*-__author__ = 'kai'import paramikoimport sys,oshost = sys.argv[1]user = 'zk'passwor
2023-01-31

Python paramiko模块的安装

paramiko是Python语言编写的遵循SSH2协议,支持加密和认证方式,连接远程服务器执行命令或者上传下载文件。一、安装paramikopip3 install paramiko二、使用用户名密码方式远程执行命令import para
2023-01-31

Python通过paramiko模块备份

1.过程思路备份配置前,先保存交换机running config到starup config交换机通过tftp备份配置文件批量备份交换机配置(通过excel文件保存交换机IP)nameipSUZ-SW-10110.X.X.1SUZ-SW-1
2023-01-31

Python使用Paramiko模块实现

paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输以及远程命令执行。通过安装包安装:wget http://f
2023-01-31

Python33 paramiko模块

paramiko模块ssh登录需要打开cmd,通过 pip install paramiko 命令来安装paramiko模块。import paramiko#创建SSH对象ssh = paramiko.SSHClient()#允许连接不在k
2023-01-31

Python中paramiko模块的作用是什么

这篇文章给大家介绍Python中paramiko模块的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗
2023-06-14

python3导入paramiko模块

这些指令包括paramiko 2及以上。如果你想安装paramiko 1。x,请参见安装(1.x)。然而,1.x依赖于不安全的依赖,所以升级是强烈鼓励。推荐的方式得到Paramiko是安装最新的稳定版本通过PIP:$ pip install
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录