一、建立信任关系

192.168.9.203 为管理机

192.168.9.201 192.168.9.202 为远程linux服务器

1、在管理机生成证书、

  1. [root@manage ~]# ssh-keygen -t rsa

复制代码

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.   (私钥)

Your public key has been saved in /root/.ssh/id_rsa.pub. (公钥)

The key fingerprint is:

36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a0

2、将管理机上的公钥传送到各远程服务器

如远程服务器更改了默认的ssh端口号,就使用scp -P 17173,17173为端口号

  1. [root@manage .ssh]# scp id_rsa.pub 192.168.9.201:/root/.ssh/authorized_keys
  2. [root@manage .ssh]# scp id_rsa.pub 192.168.9.202:/root/.ssh/authorized_keys

复制代码

管理机与远程主机信任关系建立完毕

二、通过shell脚本批量修改远程服务器密码

如果要调用mkpasswd就得安装expect,使用mkpasswd可以随机产生密码

usage: mkpasswd [args] [user]

where arguments are:

-l #      (length of password, default = 10)

-d #      (min # of digits, default = 2)

-c #      (min # of lowercase chars, default = 2)

-C #      (min # of uppercase chars, default = 2)

-s #      (min # of special chars, default = 1)

-v        (verbose, show passwd interaction)

-p prog   (program to set password, default = passwd)

比如说你要指定一个长度为8,而且至少有三个大写字母的密码,那么可以这样输入:

mkpasswd -l 8 - C 3,好了,密码就会按你的要求随机产生了

  1. yum -y install expect

复制代码

ip_list.txt为远程服务器IP列表

  1. [root@manage .ssh]# cat ip_list.txt

复制代码

192.168.9.201

192.168.9.202

如果远程服务器修改了默认ssh的端口号,就使用ssh -p 17173,17173为端口号

  1. #!/bin/bash
  2. #============== Though ssh remote server ,auto modify ROOT passwd =============#
  3. for IP in `cat /root/ip_list.txt` #导入远程要修改主机的IP
  4. do
  5. #========================= 创建远程主机密码 ==========================#
  6. TMP_PWD=`mkpasswd -l 8 -C 3`
  7. R_PWD=`echo ${IP}_${TMP_PWD}`
  8. echo "${IP}_${TMP_PWD}" > R_PWD.txt
  9. #=========================== 修改远程主机密码 ========================#
  10. if [ $? = 0 ] ; then
  11. ssh $IP passwd root --stdin < R_PWD.txt
  12. echo -e "$(date "+%Y-%m-%d %H:%M:%S")\t${IP}\t${R_PWD}\t" >> R_Server.log
  13. else
  14. echo -e "$(date "+%Y-%m-%d %H:%M:%S")\t${IP} R_PWD.txt is create fail\tplease check!\t" >> M_pass.log
  15. fi
  16. if [ $? = 0 ] ; then
  17. echo -e "$(date "+%Y-%m-%d %H:%M:%S")\tThe ${IP} passwd is modify OK\t" >> M_pass.log
  18. else
  19. echo -e "$(date "+%Y-%m-%d %H:%M:%S")\tThe ${IP} passwd is modify fail\tplease check!\t" >> M_pass.log
  20. fi
  21. done

复制代码

转自:http://bbs.chinaunix.net/thread-3619218-3-1.html

转载于:https://blog.51cto.com/wwdhks/878556

批量修改远程linux服务器密码相关推荐

  1. Windows批量修改服务器密码,expect批量修改linux服务器密码

    expect批量修改linux服务器密码 内容精选 换一换 批量修改弹性云服务器信息.当前仅支持批量修改云服务器名称,一次最多可以修改1000台.PUT /v1/{project_id}/clouds ...

  2. 远程linux服务器,安装集成的xampp,本地电脑远程连接数据库进行使用

    远程linux服务器,安装集成的xampp,本地电脑远程连接数据库进行使用 使用 navicat 相关软件远程连接数据库远程访问 xampp目录一般在/opt/lampp中 一.执行命令.进入目录: ...

  3. 编辑服务器上的文件,Sublime Text编辑远程Linux服务器上的文件

    sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...

  4. win7系统ftp服务器密码修改,win7 ftp服务器密码

    win7 ftp服务器密码 内容精选 换一换 本章主要介绍了如何使用AMH搭建网站.该指导具体操作以搭建DEDECMS系统为例.如果需要用IP访问,将IP地址填在域名栏里即可添加虚拟主机01本示例上传 ...

  5. Mobaxterm X server远程Linux服务器使用浏览器(firefox或google chrome)

    Mobaxterm X server远程Linux服务器使用浏览器(firefox或google chrome) 还未完成时使用MobaXterm连接的界面如上,发现X11-forwarding错误, ...

  6. Linux桌面环境通过VNC远程Linux服务器

    linux桌面环境通过VNC远程Linux服务器 现在有的开发者小伙伴的开发环境是linux系统的,如ubuntu.deepin.centos等,很多情况下都需要远程到一些服务器上进行操作.我们知道如 ...

  7. winserver下oracle好运维吗,在Windows 客户端下备份远程Linux服务器上的Oracle数据库...

    1.在Windows上安装Oracle客户端软件(比如:win32_11gR1_client版本最好跟服务器Oracle版本相同) 系统运维  www.osyunwei.com  温馨提醒:qihan ...

  8. jupyternotebook虚拟环境无法连接服务_详解pycharm连接远程linux服务器的虚拟环境的方法_python...

    这篇文章主要介绍了pycharm连接远程linux服务器的虚拟环境的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前提条件 ...

  9. linux将mysql导出表数据导入另一台服务器_远程linux服务器mysql数据库导入和导出.sql文件...

    今天对需要将服务器上的数据库放到本地环境,之前没怎么这么操作过,ORZ,弱鸡,这篇帖子不错,收藏了!!! 远程linux服务器mysql数据库导入和导出.sql文件 大部分情况本地开发环境为windo ...

最新文章

  1. codis3.2升级redis3.11到redis6.0.10调研
  2. Windows Phone中使用Local DataBase与ISolateStorage—在MVVM模式下(—)
  3. 关于SVN Server自助修改密码详细教程
  4. .NET Core 实例接口代理转发
  5. Bug : Bash on Ubuntu on Windows scp work on window but not in shell file
  6. 【开源】.net 分布式架构之监控平台
  7. a5d27 第1级bootloader启动问题
  8. (二分搜索)cable master
  9. Android 测试环境噪音分贝
  10. matlab.m文件
  11. html 批量pdf 打印,html转pdf打印
  12. 279. 自然数拆分
  13. Fast R-CNN文章翻译笔记
  14. 区间调度问题(最大利润作业调度问题)
  15. C语言学习之路-由浅入深(快速掌握c基础)
  16. 小丑改造计划之复习一
  17. 装甲逆袭-获取坦克界面
  18. 交通强国,标准先行【附PPT】
  19. oa系统用什么云服务器,oa系统用什么云服务器
  20. 健身网站php,基于WEB的健身网站的设计与实现

热门文章

  1. SaltStack的salt-ssh使用及LAMP状态设计部署
  2. PHP替换回车换行的三种方法
  3. 常用的NSLOG日志打印格式
  4. Sql Server系列:视图
  5. js中apply和join
  6. HTML中小meta的大作用
  7. SQL 查询数据库中包含指定字符串的相关表和相关记录
  8. SQL Server创建索引(转)
  9. 开发Android应用 提升性能的小技巧
  10. 如何在ashx页面获取Session值(未将对象引用设置到对象的实例) (转)