• 《kasini3000》批量修改linux被控机密码


    《卡死你3000》,是开源,免费,跨平台的devops批量脚本框架。

    网址:码云家

    https://gitee.com/chuanjiao10/kasini3000

     

    批量生成密码之产生随机数:

    默认产生16位大小写加数字密码

    你可以通过控制这个脚本,来限制随机数。

    c:\ProgramData\kasini3000\cs产生随机数.ps1 #不需要你自己运行这个脚本,它将被下一个脚本自动调用

    比如:没有特定字母

    批量生成密码,并写入nodelist.csv:

    cs产生所有被控机旧密码并写入nodelist.ps1

    此脚本会调用【cs产生随机数.ps1】,会在nodelist.csv的【旧密码】字段,写入16位大小写加数字的随机数。再运行一遍脚本,则重新生成并写入nodelist.csv。

    对于nodelist.csv中的linux被控机,也会生成随机数密码。

    linux被控机,批量修改密码:

    zkj_s所有linux被控机改密码_验证周期_改密码_验证_对调密码_写入时间戳.ps1

    1 命令是在主控机运行,支持win主控机,linux主控机,mac主控机

    2 脚本只会修改linux被控机的密码。脚本修改完密码后会验证。

    验证改密成功后,会把【当前密码】和【旧密码】字段中的字串对调,并写入【改密时间】字段。

    再次运行脚本,并不会把密码改回来。除非使用参数 【-force_change_pwd】

    有默认密码修改周期限制。值是30days。变量在【c:\ProgramData\kasini3000\config.ps1】文件的【$global:被控机密码_变更周期】

    3 写入日志文件:

    用参数 -Write_Log

    日志文件位置:

    c:\users\你的用户名\Documents\kasini3000\卡死你3000日志文件.txt

    /root/kasini3000/卡死你3000日志文件.txt

    4脚本依赖-win主控机:

    Nodelist.csv

    Ssh公钥已经推送。

    Powershell的Winscp模块。

    脚本依赖-linux主控机:

    Nodelist.csv

    Ssh公钥已经推送。

    Sshpass

    脚本依赖-linux被控机:

    chpasswd

    先要在卡死你3000主控机,产生秘钥。推送秘钥。才能批量改linux被控机密码。

    主控机产生秘钥:

    gx更新主控机ssh秘钥1.ps1

    #随时更新,秘钥1会备份

    gx更新主控机ssh秘钥2z.ps1

    #秘钥1更新10日内,禁止更新秘钥2,秘钥2不备份

    gx更新主控机上的_双公钥文件authorized_keys.ps1

    #linux公钥在主控机上2合1,产生一个包含双公钥的文件,并存储在

    c:\users\你的用户名\Documents\kasini3000\ssh_key_files_old1

    或linux:

    /root/kasini3000/ssh_key_files_old1/authorized_keys

    目录下

    主控机推送秘钥到被控机:

    1先在每台被控机上编辑sshd_config文件,开启root密码登录。 #linux一键安装powershell脚本已经做了这一步。

    2 在win主控机上执行:winscp复制主控机公钥到被控机_win2linux_pwd.ps1 -ipaddress nodeip -root_password 'xxx'

    在linux主控机上执行: ssh-copy-id root@被控机ip #每台被控机的ip,都要输入一遍。

    或 把root账户,密码写入nodelist.csv的【当前密码】字段。----这个方法最简单。因为kasini3000会首先尝试用秘钥1,秘钥2,连接linux被控机。若连接失败,则尝试用nodelist.csv中的账户,密码连接linux被控机。

    结论:步骤并不复杂。

    1在主控机产生2套公私钥。只需要安装时运行1次。

    2用nodelist.csv中的【当前root密码】,登录被控机。推送公钥。只需要安装时运行1次。

    如果你的某台或全部linux被控机,已经做过ssh-key-file免密登录,则不需要再做步骤1,2.

    3 在nodelist.csv中的【旧密码】字段,批量写入随机数。

    4 运行linux批量改密脚本。脚本通过私钥登录,通过chpasswd改密,通过winscp模块,或sshpass验证。并对调【当前密码】和【旧密码】字段。

    5不要小看我的框架和脚本。你打开nodelist.csv看看,在win被控机的【旧密码】字段,也被写入了16位随机数。

    你只要再运行这个脚本【zkj_s所有win被控机改密码_验证周期_改密码_验证_对调密码_写入时间戳.ps1】即可给所有win被控机改密码。

    我全封装好了哦

  • 相关阅读:
    JavaScript编码规范
    查询Sqlserver数据库死锁的一个存储过程
    Sql Server 阻塞的常见原因和解决办法
    在Repeater中使用DropDownList的方法
    springboot集成jsp
    springboot 集成 freemarker
    No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? idea maven 打包报错问题解决
    手动安装sublimeText3插件
    Sublime text 3搭建Python开发环境及常用插件安装
    qemu通过控制台向虚拟机输入组合键
  • 原文地址:https://www.cnblogs.com/piapia/p/15861741.html
Copyright © 2020-2023  润新知