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()