shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
2017-06-01 15:19
483 查看
1.创建用户–50台机器上创建用户,不可能手动去干的。
useradd.sh中的代码:#!/bin/bash user=cow password=cow useradd -d /home/$user $user expect << EOF spawn passwd $user expect "New password:" send "${password}\r" expect "Retype new password:" send "${password}\r" expect eof; EOF
执行该代码:
- 单台机器上执行该脚本那么多台机器呢?
- 还记得之前我们用过salt的这个工具么?
1.将该脚本传到其他机器上。只是一条指令就可以了。
这样就将该脚本传到所有的机器上了,*代表所有。
2.执行该脚本。我们以s2这个机器为例,如果所有那么也要用*表示
这里就是所有机器上执行创建用户并设置密码,当然所有的机器上都要安装expect否则就出现下面的错误:
2.修改创建用户后的密码:
repasswd.sh中的 内容:#!/bin/bash USER=wyl2 NPASS=wylwyl2 expect << EOF spawn passwd $USER expect "New password:" send "${NPASS}\r" expect "Retype new password:" send "${NPASS}\r" expect eof; EOF
执行该脚本后的效果图:
3.创建好用户,则可能需要各个机器之间的免秘钥登录:
该脚本中的内容#!/usr/bin/expect set timeout -1 #修改配置内容,需要免密码登录的用户 set user ooo set password ooo #需要免密码登录的机器 set ipmaster bgs-5p173-wangwenting set ipslave2 bgs-5p174-wangwenting set ipslave3 bgs-5p175-wangwenting set path /home/$user #创建秘钥 spawn ssh-keygen -t rsa expect { #第一次需要输入的enter键,exp_continue如果没有捕获到该信息的时候就跳过这个行为,执行下一次的行为。 ".ssh/id_rsa" {send "\r";exp_continue} "Overwrite" {send "y\r";exp_continue} "(empty for no passphrase):" {send "\r";exp_continue} "Enter same passphrase again" {send "\r";exp_continue} } spawn ssh-copy-id -i $path/.ssh/id_rsa.pub $user@$ipmaster expect { "*yes/no*" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } spawn ssh-copy-id -i $path/.ssh/id_rsa.pub $user@$ipslave2 expect { "*yes/no*" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } spawn ssh-copy-id -i $path/.ssh/id_rsa.pub $user@$ipslave3 expect { "*yes/no*" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } expect eof
4.至于expect的内容,自行百度。
expect的材料expect的教程
相关文章推荐
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录
- shell expect自动化创建用户,修改密码,多台机器一键免秘钥登录