一、背景

很多时候运维或安全工作人员需要维护大量的服务器,其中就包括判断是否存在root弱口令,

如果服务器数量很多一一修改的话的确是要好花费不少时间精力的。如果通过脚本来实现密码更改,

再做一个定期任务的话,会节省很多人力。

二、设计思路

 1. 配置服务器使用公钥登录

 2. 编写远程密码更改脚本

 3. 配置定时任务执行

三、具体步骤

 1.1 配置服务器使用公钥登录

# ssh-keygen -t rsa

1.2 将本地生成的公钥scp到远程要更改密码的所有服务器主机上(如果远程服务器上没有/root/.ssh目录的话需要手动新建)

scp /root/.ssh/id_rsa.pub root@192.168.1.1:/root/.ssh/authorized_keys

2.1 创建远程密码更改脚本/root/test.sh

   (密码:abc123456,要更改的远程主机:192.168.1.1,如果主机很多可以加在ip_array列表里)

#!/bin/bash

remote_cmd="echo abc123456 | passwd --stdin root"
ip_array=(
"192.168.1.1"
)
for ip in ${ip_array[*]}
do
ssh root@$ip $remote_cmd
done

3.  配置定时任务执行(每天16:36分执行密码更改,可使用crontab -e -u user来编辑,以下命令来查看)

#crontab -l -u root

  * * * /root/test.sh

需要注意的是,所谓“定期”其实还是需要借助人工的,因为密码的更改每次都需要不一样,而每次更改为什么类型的强密码还是需要管理员自行判断,变更的时候只需要变更脚本里的“abc123456”密码部分即可。

定期批量修改远程服务器root密码的更多相关文章

  1. ansible批量修改linux服务器密码的playbook

    从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...

  2. 利用expect批量修改Linux服务器密码

    一个执着于技术的公众号 背景 修改Linux系统密码,执行passwd即可更改密码.可如果有成千上百台服务器呢,通过ssh的方式逐一进行修改,对我们来说,工作量是非常大,且效率非常低下.因此采用批量修 ...

  3. 利用phpmyadmin修改mysql的root密码及如何进入修改密码后的phpmyadmin

    1.利用phpmyadmin修改mysql的root密码 很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启后发现mysql登录错误,这是为什么呢?修改mysql的root ...

  4. Linux下修改MySql的root密码

    linux下如何修改Mysql的root密码     今天,忘了mysql下的root密码,想重置一下,但找了多个网站上的方法均有问题,最后参考几家的过程,经过不断尝试获得,终于成功了,下面特将过程分 ...

  5. 使用ansible批量管理远程服务器

    使用ansible批量管理远程服务器 背景 本地需要管理远程的一批服务器,主要执行以下任务: 1) 将本地的文件复制到远端所有服务器: 2) 需要在远程服务器中执行一个个命令: 远端服务器路径并非完全 ...

  6. My sql添加远程用户root密码为password

    添加远程用户root密码为password grant all privileges on *.* to root@localhost identified by '123321' with gran ...

  7. Windows如何修改MySQL用户root密码

    听语音 浏览:16925 | 更新:2015-06-12 14:49 | 标签:windows 1 2 3 4 5 6 分步阅读 MySQL是一个关系型数据库管理系统,在 WEB 应用方面 MySQL ...

  8. windows环境下修改Mysql的root密码

    最近一直没用Mysql,root密码给忘了,然后就自己修改了一下,现在整理一下步骤.(我的版本是5.1) 启动MySQL服务:>>net start mysql 关闭MySQL服务:> ...

  9. [XenServer] XenServer修改IP 以及 root密码

     A.修改IP以及DNS 1. root用户登录console 2.输入命令获得UUID xe pif-list 3.利用UUID查看之前的IP,注意替换下面的1111111111 xe pif-pa ...

随机推荐

  1. javascript 的 jasmine 的測试语句

    首先建立环境场景: 一般三个文件夹 lib jasmine的系统文件存放文件夹 spec 写測试用例的文件夹 src 存放源码的文件夹(被測对象) specRunner.html 測试入口文件. 入口 ...

  2. 【图像处理】openCV光流法追踪运动物体

    openCV光流法追踪运动物体 email:chentravelling@163.com 一.光流简单介绍 摘自:zouxy09 光流的概念是Gibson在1950年首先提出来的.它是空间运动物体在观 ...

  3. 阿里云k8s服务springboot项目应用升级时出现502错误

    背景 随着小步快跑.快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更.升级频率变得越来越频繁.为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式. 停机发布 ...

  4. Ios中checkBox

    //使用tableview来进行布局checkBox.便于全选,全不选//radiobutton 适合用RadioButton #import <UIKit/UIKit.h> @inter ...

  5. appfuse的使用方法

     2008-07-27  appfuse是如何使用的? 比如我想编写一个 struts+spring+hibernate+ajax的网站,如何用appfuse加速我的开发进度呢 ----------- ...

  6. Tensorflow默认占满全部GPU的全部资源

    一台服务器上装了多块GPU,默认情况下启动一个深度学习训练任务时,这个任务会占满每一块GPU的几乎全部存储空间.这就导致一个服务器基本上只能执行一个任务,而实际上任务可能并不需要如此多的资源,这相当于 ...

  7. Android开发环境——调试器 DDMS相关内容汇总

       Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT ...

  8. ThinkPHP学习(三)

    我们已经将数据保存到了后台数据库,那接下来我们肯定要将数据显示出来看看了. 先建立一个要显示数据的模板formlist.html: <!DOCTYPE HTML PUBLIC "-// ...

  9. 细说PHP中strlen和mb_strlen的区别(转)

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别.下面通过例子,讲解这两者之间的区别. 先看例子: <?php // ...

  10. 【Android】Android动态加载Jar、APK的实现

    本文介绍Android中动态加载Jar.APK的实现.而主要用到的就是DexClassLoader这个类.大家都知道Android和普通的Java虚拟机有差别,它只能加载经过处理的dex文件.而加载这 ...