python 批量修改密码

发布时间:2019-09-13 09:31:12编辑:auto阅读(1584)

    下午闲来无事,就搞个批量密码修改工具玩玩...

    #!/usr/bin/env python
    import paramiko
    import time

    ip_list=('ip1','ip2')
    log_file=open('mpwdok.log','w+')
    log_file1=open('mpwderr.log','w+')

    for ip in ip_list:
        try:
            s = paramiko.Transport((ip, 22))
            s.connect(username='root', password='222222')
            chan = s.open_session()
            chan.get_pty()
            chan.invoke_shell()
            chan.send('passwd root\n')
            time.sleep(2)
            chan.send('111111\n')
            time.sleep(2)
            chan.send('111111\n')
            time.sleep(2)
            log_file.write("\n"+ip+"\n=================================================================\n")
            log_file.write(chan.recv(1024))
            log_file.write("\n=================================================================")
        except Exception,err:
            log_file1.write("ERR:unable to connect %s:%s\n" %(ip,err))

     

    以下是另一种方式自动登录并且修改密码的脚本,仅供参考:

    #!/usr/bin/env python
    #CreateBy:Badboy 2010-11-02
    #Auto modify user passwd

    import paramiko
    import time
    import ConfigParser

    cf=ConfigParser.ConfigParser()
    cf.read("userinfo.conf")
    userName=cf.get("user_info","user_name")
    userPass=cf.get("user_info","user_pwd")
    serverPort=cf.getint("user_info","server_port")
    keyFile=cf.get("user_info","key_path")
    ip_list=cf.get("user_info","ip_list").split(",")

    channel = paramiko.SSHClient();
    channel.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    log_file=open('mpwdok.log','w+')
    log_file1=open('mpwderr.log','w+')

    for serverHost in ip_list:
        try:
            mpwdssh=paramiko.Transport((serverHost,serverPort))
            mykey = paramiko.DSSKey.from_private_key_file(keyFile,password=userPass)
            mpwdssh.connect(username=userName,pkey=mykey)
            chan = mpwdssh.open_session()
            chan.get_pty()
            chan.invoke_shell()
            chan.send('passwd root\n')
            time.sleep(2)
            chan.send('222222\n')
            time.sleep(2)
            chan.send('222222\n')
            time.sleep(2)
            log_file.write("\nLinuxServer_IP:"+serverHost+"\n=================================================================\n")
            log_file.write(chan.recv(1024))
            log_file.write("\n=================================================================")
        except Exception,err:
            log_file1.write("ERR:unable to connect %s:%s\n" %(serverHost,err))
     

    userinfo.conf

    [user_info]
    user_name=root
    user_pwd=111111
    server_port=22
    key_path=/root/.ssh/badboy
    ip_list=ip1,ip2


    如果想了解更多,请关注我们的公众号
    公众号ID:opdevos
    扫码关注

    gongzhouhao.jpg

关键字