my paramiko class

#!/usr/bin/evn python
# coding:utf-8
import paramiko,os

class ParamikoTools(object):

    def __init__(self,ip, port, user, password, key, timeout):
        self.host = ip
        self.port = port
        self.user = user
        self.password = password
        self .key = key
        self.timeout = timeout

    def sshs(self,cmd):
        try:
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect(hostname=self.host,port=self.port,username=self.user,password=self.password,timeout=self.timeout)
            stdin, stdout, stderr = ssh.exec_command(cmd)
            return stdout.read()
            ssh.close()
        except Exception,e:
            print "%s exec command except:%s"%(self.host,e)

    def sshkey(self,key,cmd):
        try:
            k = paramiko.RSAKey.from_private_key_file(key)
            c = paramiko.SSHClient()
            c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            c.connect(hostname=self.host, username=self.user, pkey=k,timeout=self.timeout)
            stdin, stdout, stderr = c.exec_command(cmd)
            return stdout.read()
            c.close()
        except Exception,e:
            print "%s exec command except:%s" &(self.host,e)

    def getRemoteFiles(self, localfile, remotefile):
        try:
            # ssh = paramiko.SSHClient()
            # ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            # ssh.connect(hostname=self.host, port=self.port, username=self.user, password=self.password,
            #             timeout=self.timeout)
            transport = paramiko.Transport((self.host,self.port))
            transport.connect(username=self.user,password=self.password)
            sftp = paramiko.SFTPClient.from_transport(transport)
            sftp.get(remotefile, localfile)
            print "Transport file fished !"
            transport.close()
        except Exception,e:
            print "Get file from %s to local %s,%s"%(remotefile, localfile, e)

    def putLocalToRemote(self, localfile, remotefile):
        try:
            transport = paramiko.Transport((self.host,self.port))
            transport.connect(username=self.user,password=self.password)
            sftp = paramiko.SFTPClient.from_transport(transport)
            sftp.put(localfile, remotefile)
            print "Transport file fished !"
        except Exception,e:
            print "Put local file to remote host execpt, localfile:%s-- remotedir:%s--except:%s" %(localfile, remotefile, e)
时间: 2024-12-12 14:38:20

my paramiko class的相关文章

堡垒机之paramiko模块

一.paramiko简单介绍 场景预设: 很多运维人员平时进行维护linux/unix主机时候,无非通过ssh到相应主机操作,那么一旦主机有成千上百台,那该如何应对,这时候我们需要批处理工具,基于python的工具有ansible.salt,而ansible的核心则是介于paramiko. 安装: pip install paramiko或 easy_install paramiko paramiko依赖第三方的Crypto,Ecdsa和pyhton-devel 核心组件: SSHclient类

python的paramiko模块简单应用

用法1,SSHClient 分别可以使用密码和秘钥登陆,然后执行命令,并且获取执行结果 import paramiko #创建一个SSH对象 ssh = paramiko.SSHClient() #允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #通过用户名和密码去连接服务器 ssh.connect(hostname="127.0.0.1",port=22,username

python模块--paramiko

paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 1 基于用户名和密码的 sshclient 方式登录 # 建立一个sshclient对象 ssh = paramiko.SSHClient() # 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 调用c

paramiko

批量之行命令 安装paramiko模块 [[email protected] ~]# yum install -y python-paramiko.noarch python-paramiko-1.7.5-2.1.el6.noarch.rpm                    | 728 kB     00:00 运行 rpm_check_debug 执行事务测试 事务测试成功 执行事务   正在安装   : python-paramiko-1.7.5-2.1.el6.noarch     

paramiko模块

paramiko模块 下载安装 # pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto # 下载安装 pycrypto wget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz tar -xvf pycrypto-2.6.1.tar.gz cd pycrypto-2.6.1 python setup.py build python setup.py install # 进

Python 学习记录之----模块 paramiko

paramiko 一.安装 pip3.5 install paramiko pip3.5 install pycrypto 1 # pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto 2 3 # 下载安装 pycrypto 4 wget http://xxxxxx/pycrypto-2.6.1.tar.gz 5 tar -xvf pycrypto-2.6.1.tar.gz 6 cd pycrypto-2.6.1 7 python setup.p

python-----堡垒机前戏paramiko模块

堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.con

弃坑pexpect,入坑paramiko

弃坑pexpect,入坑paramiko 上文书说到,ssh库pexpect的使用,简直就是个"月亮公主"--满眼全是坑.勉强把程序写好了,跑起来的时候发现了一个新坑,让我不可抗拒的把它弃掉了--经常莫名其妙的连不上服务器!开线程连接14台服务器,总有1到3台连不上,还查不到原因.这还了得!一怒之下把写好的pexpect封装库删掉了,用paramiko重新写起.其实这个库也是有一些坑的,这个放在后面说.先介绍一下这个库的用法. 安装方法:没有什么新鲜的 pip install para

使用Paramiko实现SSH登陆,文件上传下载

1,SSh登陆命令行实现: #!/usr/bin/env python # encoding: utf-8 import paramiko private_key_path = '/Users/aolens/.ssh/id_rsa' key = paramiko.RSAKey.from_private_key_file(private_key_path) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.Aut

python之paramiko模块

python paramiko模块 1.安装 1225 ./configure #在解压后的python2.7.9的目录下 1226 make 1227 make install 1228 cd /usr/local/ 1229 ls 1230 cd bin 1231 ls 1232 ./python 1233 python 1234 cd /usr/bin 1235 ls 1236 ll python* 1237 mv ./python ./python26 1238 ln -s /usr/l