python实现密码检查_python 多线程ssh检查服务器密码

概述

主要是实现批量检查一下服务器的用户和密码是否正确. 有很多服务器,账号,端口,密码都有集中组合. 如何实现快速检查密码.

利用python的paramiko可以实现ssh连接,甚至交互式命令

利用多线程迅速进行扫描

后续还可以结合修改密码去设新的密码. 设成定时任务.

#!/usr/bin/env python3

import sys

import getpass

import paramiko

import threading

import os

#多线程扫描服务器的root密码,输出列表.

#创建函数实现远程连接主机、服务器密码以及在远程主机上执行的命令的功能

def remote_comm(host,port,user,pwd, command):

#创建用于连接ssh服务器的实例

ssh = paramiko.SSHClient()

#print("now,we run %s %d %s %s"%(host,port,user,command))

#设置自动添加主机密钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#连接ssh服务器,添加连接的主机、用户名、密码填好,捕获异常,有异常则跳出函数

try:

ssh.connect(hostname=host,port=port,username=user,password=pwd)

# 在ssh服务器上执行指定命令,返回3项类文件对象,分别是,输入、输出、错误

try:

stdin, stdout, stderr = ssh.exec_command(command)

# 读取输出

out = stdout.read()

# 读取错误

error = stderr.read()

# 如果有输出

if out:

# 打印主机输出内容

print("%s %d %s SDF%s23sawe 密码正确" % (host, port,user,pwd))

#print('[%s] OUT:\n%s' % (host, out.decode('utf8')))

# 如果有错误

if error:

# 打印主机错误信息

print('[%s] ERROR:\n%s' % (host, error.decode('utf8')))

# 程序结束

ssh.close()

except:

#print("%s %d %s %s 连接得上,命令返回错误"%(host,port,user,pwd))

pass

except:

#print("%s %d %s %s ssh这个用户连接不上"%(host,port,user,pwd))

return

if __name__ == '__main__':

#实际上一般读取数据库或者文本文件或者ip列表

ips = ["192.168.11.79", "192.168.12.12","10.10.17.200","10.10.17.201","10.10.17.202"]

portlist = [22, 2016]

userlist = ["root", "wx"]

passwdlist = ["PSDKFLsdwewf", "123.com.com"]

command = "df"

for pwd in passwdlist:

for user in userlist:

for port in portlist:

for ip in ips:

#将读取到的ip地址作为remote_comm函数实际参数传递给函数,ips中有几个ip地址循环几次

#创建多线程

t = threading.Thread(target=remote_comm, args=(ip,port,user,pwd,command))

#启用多线程

t.start()

image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值