• ssh connect


    import paramiko

    def ssh2(ip,username,passwd,cmd):
        try:
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            paramiko.util.log_to_file("filename.log")
            ssh.connect(ip,22,username,passwd)
            print "11111111111111111"
            for m in cmd:
                print m
                stdin, stdout, stderr = ssh.exec_command(m)
                out = stdout.readlines()
                for o in out:
                    print o,
            print "%s OK "%(ip)
            ssh.close()
        except:
            print "%s Error "%(ip)

    if __name__=="__main__":
        ip = "192.168.111.162"
        username = "root"
        passwd = "asdf1234"
        print "Begin...."
        cmd=["ls",
            "which python"]
        ssh2(ip,username,passwd,cmd)

     def ssh_exec(hostname, port, username, key, password, component, content):
        cmd  = "zgrep " + content + "/dir" + component + "/* | sort -t: -k 2.1,4 "
        s = paramiko.SSHClient()
        s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        s.connect(hostname=hostname, port=port, username=username, pkey=key, password=password)
        ssh = s.invoke_shell()
        time.sleep(0.1)
        ssh.send('su - ')
        buff = ''
        sleep_loop = 0
        while not buff.endswith('Password: '):
            resp = ssh.recv(9999)
            buff +=resp
        time.sleep(0.5)
        ssh.send(root_pwd)
        ssh.send(' ')
        buff = ''
        while not buff.endswith('# '):
            resp = ssh.recv(9999)
            buff +=resp
            time.sleep(1)
            sleep_loop +=1
            if sleep_loop == 3:
                raise Exception('Please confirm root password, or contact developer.')
        ssh.send(cmd)
        ssh.send(' ')
        buff = ''
        while not buff.endswith('# '):
            resp = ssh.recv(9999)
            buff +=resp
        s.close()
        result = buff
        print result

     
  • 相关阅读:
    java web分享ppt大纲 -- servlet容器简介
    Docker入门二
    Docker入门
    自动化运维
    堡垒机
    代码管理平台
    NoSQL(四)
    NoSQL(三)
    NoSQL(二)
    CentOS添加新网卡network-scripts目录下找不到网卡配置文件
  • 原文地址:https://www.cnblogs.com/yaoweilei/p/4948824.html
Copyright © 2020-2023  润新知