zoukankan      html  css  js  c++  java
  • python之paramiko密钥库+密码登录(2)

    #!/usr/local/anaconda3/bin/python
    # encoding:utf-8
    
    # Create your views here.
    # ====================================================
    # Author: chang - EMail:changbo@hmg100.com
    # Last modified: 2017-07-11
    # Filename: shouquan.py
    # Description: file upload ,base paramiko, pymysql
    # blog:http://www.cnblogs.com/changbo
    # ====================================================
    
    
    """
    # 一键授权mysql脚本
    """
    
    import pymysql
    import paramiko
    
    commond1 = 'select ip from wan_ip where id=(SELECT MAX(id) from wan_ip)'
    commond3 = 'FLUSH PRIVILEGES'
    private_key = 'x'
    
    
    def getWanIp():
        db = pymysql.connect('x', 'x', 'x', 'x')
        cursor = db.cursor()
        cursor.execute(commond1)
        wanip = (cursor.fetchall())[0][0]
        db.close()
        return wanip
    
    
    def shouQuan():
        db = pymysql.connect('x', 'x', 'x')
        cursor = db.cursor()
        wanip = getWanIp()
        commond2 = "UPDATE mysql.user set host='%s' where user='x' or user='x'" % wanip
        cursor.execute(commond2)
        db.commit()
        cursor.execute(commond3)
        db.commit()
        commond4 = 'iptables -A INPUT -p tcp -s %s --dport 3306 -j ACCEPT' % wanip
        trans = paramiko.Transport(('x', 22))
        key = paramiko.RSAKey.from_private_key_file(private_key, 'x')
        trans.connect(username='root', pkey=key)
        ssh = paramiko.SSHClient()
        ssh._transport = trans
        ssh.exec_command('ls')
        print(commond4)
        ssh.exec_command(commond4)
    if __name__ == '__main__':
        shouQuan()
  • 相关阅读:
    Handler机制来处理子线程去更新UI线程控件
    获得某月份的天数
    listview选中没有效果
    kali或其他系统,虚拟机中不能加载镜像
    tomcat开启多个端口
    kali自定义分辨率
    Redis 安装手册
    bash检查centos服务器运行状态
    关于利用RD client远程电脑,和输入法的一些问题
    centOS下 MYSQL基本操作
  • 原文地址:https://www.cnblogs.com/changbo/p/7211398.html
Copyright © 2011-2022 走看看