自動登錄多個IDC機房(expect+shell)

我的博客已遷移到xdoujiang.com請去那邊和我交流

環境說明:
不能使用root直接登錄 需要使用普通用戶登錄後切換root 也不能使用免祕鑰登錄(公司規定)

使用方法:
chmod +x login
./login ip的後2個
比如./login 30.30(這個屬於天津網段 那自然就使用天津網段的密碼了)


效果圖

wKioL1YhBG3DjK61AAFjWqvpbyU155.jpg

wKiom1YhBEmDtyOfAAKEYfwdurg906.jpg

wKioL1YhBG3gUfiWAAKzqv7sGYk444.jpg

wKiom1YhBEqiKHtJAAKWV6DST6c005.jpg


#!/bin/bash
#--------------------------------------------------
#Author:jimmygong
#Email:[email protected]
#FileName:login
#Function: 
#Version:1.0 
#Created:2015-11-16
#--------------------------------------------------
localuser="jimmy"
localtjpass="11111111"
localtjrpass="22222222"
localshpass="33333333"
localshrpass="44444444"
localfspass="55555555"
localfsrpass="66666666"
localszpass="77777777"
localszrpass="88888888"
localjspass="99999999"
localjsrpass="10101010"
localip="$1"
if [[ $localip = 3[0-9].* ]]
then
printf "\033[32m######################################\033[0m\n"
printf "\033[32m#        Welcome to 天津 IDC         #\033[0m\n"
printf "\033[32m######################################\033[0m\n"
expect -c "
spawn ssh -q [email protected].$localip
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
 \"assword:\" {send \"$localtjpass\r\"}
}
expect \"\$*\"
send \"su -\n\"
expect \"assword:\"
send \"$localtjrpass\n\"
interact"
elif [[ $localip = 1.* ]] || [[ $localip = 2.* ]] || [[ $localip = 7.* ]] || [[ $localip = 6.* ]] || [[ $localip = 9.* ]] || [[ $localip = 12.* ]]
then 
printf "\033[33m######################################\033[0m\n"
printf "\033[33m#        Welcome to 上海 IDC         #\033[0m\n"
printf "\033[33m######################################\033[0m\n"
expect -c "
spawn ssh -q [email protected].$localip
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
 \"assword:\" {send \"$localshpass\r\"}
}
expect \"\$*\"
send \"su -\n\"
send \"su -\n\"
expect \"assword:\"
send \"$localshrpass\n\"
interact"
elif [[ $localip = 4.* ]] || [[ $localip = 11.* ]] || [[ $localip = 71.* ]] || [[ $localip = 72.* ]]
then 
printf "\033[35m######################################\033[0m\n"
printf "\033[35m#        Welcome to 蘇州 IDC         #\033[0m\n"
printf "\033[35m######################################\033[0m\n"
expect -c "
spawn ssh -q [email protected].$localip
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
 \"assword:\" {send \"$localszpass\r\"}
}
expect \"\$*\"
send \"su -\n\"
expect \"assword:\"
send \"$localszrpass\n\"
interact"
elif [[ $localip = 11*.* ]]
then 
printf "\033[36m######################################\033[0m\n"
printf "\033[36m#        Welcome to 佛山 IDC 1       #\033[0m\n"
printf "\033[36m######################################\033[0m\n"
expect -c "
spawn ssh -q [email protected].$localip
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
 \"assword:\" {send \"$localfspass\r\"}
}
expect \"\$*\"
send \"su -\n\"
expect \"assword:\"
send \"$localfsrpass\n\"
interact"
elif [[ $localip = 18.* ]] || [[ $localip = 19.* ]] || [[ $localip = 20.* ]] || [[ $localip = 21.* ]] || [[ $localip = 22.* ]]
then 
printf "\033[36m######################################\033[0m\n"
printf "\033[36m#        Welcome to 佛山 IDC 2       #\033[0m\n"
printf "\033[36m######################################\033[0m\n"
expect -c "
spawn ssh -q [email protected].$localip
expect {
\"yes/no\" {send \"yes\r\";exp_continue}
 \"assword:\" {send \"$localjspass\r\"}
}
expect \"\$*\"
send \"su -\n\"
expect \"assword:\"
send \"$localjsrpass\n\"
interact"
fi
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章