登錄界面
創(chuàng)建并進(jìn)入文件夾
mkdir ~/doc/tools/testbin
cd ~/doc/tools/testbin
一肃廓、創(chuàng)建賬戶密碼文件
- 創(chuàng)建文件:
vim password.lst
- 輸入以下內(nèi)容
1:172.16.6.1:22:root:123456:(root)XX服務(wù)器1
2:172.16.6.2:22:root2:123456:(root)XX測試服務(wù)器2
3:172.16.6.3:22:root3:123456:(csapp)XX測試服務(wù)器3
4:172.16.6.4:22:root4:123456:(tgweb)XX 測試服務(wù)器4
注意:ip弊知、端口、用戶名钻哩、密碼等自行替換
-
ESC
退出編輯模式, 輸入:x
退出
二、創(chuàng)建連接文件
- 創(chuàng)建文件:
vim ssh_login.exp
- 輸入以下內(nèi)容
#!/usr/bin/expect -f
set TARGET [lindex $argv 0]
set USER [lindex $argv 1]
set PASSWD [lindex $argv 2]
set PORT [lindex $argv 3]
set timeout 10
spawn ssh $USER@$TARGET -p $PORT
expect {
"*yes/no" {send "yes\r"; exp_continue}
"*password:" {send "$PASSWD\r"}
}
interact
-
ESC
退出編輯模式, 輸入:x
退出
三肛冶、創(chuàng)建連接界面
- 創(chuàng)建文件:
vim so.sh
- 輸入以下內(nèi)容
#!/bin/bash
direc=`dirname $0`
function color(){
none="\033[0m"
black="\033[0;30m"
dark_gray="\033[1;30m"
blue="\033[0;36m"
light_blue="\033[1;34m"
green="\033[0;32m"
light_green="\033[1;32m"
cyan="\033[0;36m"
light_cyan="\033[1;36m"
red="\033[0;31m"
light_red="\033[1;31m"
purple="\033[0;35m"
light_purple="\033[1;35m"
brown="\033[0;33m"
yellow="\033[1;33m"
light_gray="\033[0;37m"
white="\033[1;37m"
close="\033[m"
case $1 in
# none)
# echo -e "$none $2 $close"
# ;;
blue)
echo "$blue $2 $close"
;;
green)
echo "$green $2 $close"
;;
red)
echo "$red $2 $close"
;;
purple)
echo "$purple $2 $close"
;;
yellow)
echo "$yellow $2 $close"
;;
white)
echo "$white $2 $close"
;;
*)
echo "Input color error!!"
;;
esac
}
function copyright(){
echo "##################################################"
color blue "------------SSH Login Platform------------"
echo "##################################################"
echo
}
function underline(){
echo "-----------------------------------------"
}
function main(){
while [ True ];do
echo "序號 | 主機(jī) | 說明"
underline
awk 'BEGIN {FS=":"} {printf("\033[0;31m% 3s \033[m | \033[1;33m%15s | \033[1;37m%s\n",$1,$2,$6)}' $direc/password.lst
underline
read -p '[*] 選擇主機(jī)(按q退出): ' number
pw="$direc/password.lst"
ipaddr=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $2}}' $pw)
port=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $3}}' $pw)
username=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $4}}' $pw)
passwd=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $5}}' $pw)
case $number in
[0-9]|[0-9][0-9]|[0-9][0-9][0-9])
echo $passwd | grep -q ".pem$"
RETURN=$?
if [[ $RETURN == 0 ]];then
ssh -i $direc/keys/$passwd $username@$ipaddr -p $port
echo "ssh -i $direc/$passwd $username@$ipaddr -p $port"
else
expect -f $direc/ssh_login.exp $ipaddr $username $passwd $port
fi
;;
"q"|"quit")
exit
;;
*)
echo "Input error!!"
;;
esac
done
}
copyright
main
-
ESC
退出編輯模式, 輸入:x
退出