文档章节

python paramiko ssh

connie_wu
 connie_wu
发布于 2015/06/06 17:50
字数 193
阅读 24
收藏 1
点赞 0
评论 0

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import paramiko


#ssh 功能

ssh = paramiko.SSHClient()

ssh.load_system_host_keys()  #倒入 字典格式的公钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #如果本地没有连接过会自动添加 字典

ssh.connect(hostname='172.16.243.130',username='root',password='123456',port=22)

stdin,stdout,stderr = ssh.exec_command('uptime'#ssh.exec_command返回一个元祖 

print stdout.read()

ssh.close()





代码

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import paramiko


def task(hostname,port,username,password,cmd):

    ''' 远程执行命令

    

        @param hostname 主机名

        @type str

        @param port 端口

        @type int

        @param username 用户名

        @type str

        @param password 密码

        @type str

        @param cmd 命令

        @type str

    '''

    

    ssh = paramiko.SSHClient()

    ssh.load_system_host_keys()

    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    try:

        ssh.connect(hostname=hostname,port=port,username=username,password=password)

        stdin,stdout,stderr = ssh.exec_command(cmd)

        return stdout.read()

    except Exception,e:

        print e

        return e

    

    finally:

        if ssh:

            ssh.close()  #finally 无论是否有问题 代码块都会被执行


def main():

    

    result = task('172.16.243.130',22,'root','123456','uname -s')

    print result



if __name__ == '__main__':


    main()


© 著作权归作者所有

共有 人打赏支持
connie_wu
粉丝 0
博文 18
码字总数 4503
作品 0
朝阳
python 利用paramiko批量管理功能示例

paramiko是基于python实现的ssh2远程安全连接,支持秘钥认证,实现远程命令执行,文件传输,中间ssh代理等功能 安装paramiko paramiko依赖第三方的crypto,ecdsa,python-devel yum install ...

super李导 ⋅ 05/23 ⋅ 0

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

还记得前一节做的socket和socketserver吗?写了很多实现了一个小功能,但是今天的paramiko真让人有种土枪换炮的感觉! paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证...

等你的破船 ⋅ 04/16 ⋅ 0

Python学习你掌握对方法了吗?python自动化

阅读官方文档即可满足日常需求,官方文档有中文翻译,更加方便学习。但这些都是基础的语法和常见的模块,Python学习重要的是模块,快速、高效的开发依赖的是模块的应用,站在前人的肩膀会省时...

老男孩Linux培训 ⋅ 06/12 ⋅ 0

Python学习记录-paramiko模块

Python学习记录-paramiko模块 [TOC] paramiko模块基于SSH用于连接远程服务器并执行相关操作。 1. 用于连接远程服务器并执行基本命令 基于用户名密码连接: SSHClient 封装 Transport 基于公钥...

ygqygq2 ⋅ 04/27 ⋅ 0

pyhon中用到的模块

安装:pip3,pip2 1.python-rrdtool(just for python2) sudo apt-get install python-rrdtool -y import rrdtool 2.psutil pip3 install psutilpip install psutil import psutil 3.ipy p......

苑洪武 ⋅ 2017/12/31 ⋅ 1

python Fabric使用详解及示例

abric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志...

super李导 ⋅ 05/25 ⋅ 0

Python官方库SSH Decorator被曝后门:可窃取SSH凭证

在代码库中隐藏后门的最后一次尝试已经过去了一个星期,今天我们又有了一个新的案例。这一次,后门是在一个Python模块中找到的,而不是一个npm (JavaScript)包。 该模块的名称是SSH Decorat...

云技术之家 ⋅ 05/15 ⋅ 0

快讯 Python官方库软件包SSH-Decorator被植入后门

        据 Reddit 用户报告,在 Python 库的SSH-Decorator 软件包中发现了窃取用户 SSH 私钥及帐号密码的后门,目前该库已被Python官方移除。SSH-Decorator 为以色列开发人员Uri Gor...

FreeBuf ⋅ 05/10 ⋅ 0

Python库现后门 可窃取用户SSH信息

     研究人员发现Python模块存在后门,注意是python模块,不是npm包。该模块名为SSH解密器(ssh-decorate),这是以色列开发者Uri Goren开发的处理SSH连接的库。   本周一,另一位开发...

嘶吼RoarTalk ⋅ 05/14 ⋅ 0

paramiko对centos环境yum安装和卸载

声明:忘记参考了哪位大神的代码了,找不到链接,如果有发现盗版的请提示我,到时候我把出处添加上。 首先我用的开发环境是window+eclipse,环境的安装要求: 1、eclipse安装有python的开发插...

weixin_36104843 ⋅ 05/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring表达式语言(SpEL)

1、SpEL引用 Spring EL在bean创建时执行其中的表达式。此外,所有的Spring表达式都可以通过XML或注解的方式实现。下面将使用Spring表达式语言(SpEL),注入字符串,整数,Bean到属性。 SpEL的...

霍淇滨 ⋅ 21分钟前 ⋅ 0

Gradle使用阿里云镜像

gradle 生命周期中有一个初始化( Initialization )的过程,这个过程运行在 build script 之前,我们可以在这个地方做一点系统全局的设置,如配置仓库地址。 你可以在以下几个位置实现仓库地址...

明MikeWoo ⋅ 29分钟前 ⋅ 0

appium+python3.6

1.安装jdk1.8(不知道为啥只识别1.8,1.10不识别,所以为了少折腾,迁就安装1.8) http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 配置 JAVA_HOME:...

Kampfer ⋅ 48分钟前 ⋅ 0

详解Apache 日志分割教程

一、日志切割 安装cronolog CentOS 5.3中编译安装Apache日志默认是不切割的,需要用用工具Cronnolog进行日志切割。 1.下载及安装 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz ...

dragon_tech ⋅ 50分钟前 ⋅ 0

Keepalived介绍

负载均衡器(Load Balancer, LB )是一组能够将IP数据流以负载均衡形式转发到多台物理服务器的集成软件。有硬件负载均衡器和软件负载均衡器之分,硬件负载均衡器主要是在访问网络和服务器之间...

寰宇01 ⋅ 50分钟前 ⋅ 0

java8-Collections and Streams

stream和集合的区别是什么? 1.在计算的时候处理不同, 2.every element should be computed in the memory and then to be part of collections stream Stream apis filter with a predica......

writeademo ⋅ 56分钟前 ⋅ 0

Confluence 6 重新获得附件指南

每一个文件在恢复上传到 Confluence 的时候必须单独重命名,你可以通过下面说明的 3 个方法中选择一个进行操作: 选择 A - 通过文件名恢复附件 如果你知道你需要恢复的每一个文件名,尤其是你...

honeymose ⋅ 今天 ⋅ 0

【每天一个JQuery特效】根据状态确定是否滑入或滑出被选元素

主要效果: 本文主要采用slideToggle()方法实现以一行代码同时实现以展开或收缩的方式显示或隐藏被选元素。 主要代码如下: <!DOCTYPE html><html><head><meta charset="UTF-8">...

Rhymo-Wu ⋅ 今天 ⋅ 0

度量.net framework 迁移到.net core的工作量

把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾...

李朝强 ⋅ 今天 ⋅ 0

请不要在“微服务”的狂热中迷失自我!

微服务在过去几年一直是一个非常热门的话题(附录1)。何为“微服务的疯狂”,举个例子: 众所周知,Netflix在DevOps上的表现非常棒。Netfix可以做微服务。因此:如果我做微服务,我也将非常...

harries ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部