批量修改服務器密碼

需求

服務器密碼不統一,運維管理困難,需要將服務器密碼統一進行設置

修改服務器密碼流程

  • 安裝需要的包
cd /opt/
wget https://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz  --no-check-certificate
tar -zxvf tcl8.4.19-src.tar.gz
cd tcl8.4.19/unix && ./configure --prefix=/usr/tcl && make && make install

cd /opt/
wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz --no-check-certificate
tar -zxvf expect5.45.tar.gz
cd expect5.45/ && ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.19/generic && make && make install
ln -s /usr/tcl/bin/expect /usr/bin/expect
  • 準備腳本
mkdir /opt/scripts/passwd -p
cd /opt/scripts/passwd 

#準備 action.exp,例如服務器密碼統一設置爲 123456
# cat action.exp 
#!/usr/bin/expect
set ipaddr [lindex $argv 0]
spawn ssh root@$ipaddr
expect {
"yes/no" {send "yes\r";exp_continue}
}
expect "#"
send "echo '123456' |passwd --stdin root\r"
send "exit\r"
expect eof

#準備主機列表
# cat host.txt 
10.12.1.0
10.147.100.113

#準備執行修改服務器密碼的腳本
# cat passwd.sh 
#!/bin/bash
for h in `cat host.txt`;do
expect action.exp $h
done

#執行腳本
# sh passwd.sh 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章