亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 一個方便ssh 登錄的垃圾代碼 [打印本頁]

作者: BLZer    時間: 2007-11-16 18:36
標(biāo)題: 一個方便ssh 登錄的垃圾代碼
主腳本
#!/bin/bash
#
#
#
#E'mail:yibin.shen@infowarelab.com
#
#global variable

DATA="/home/debian/shell/login/ssh_host.dat"
SSHSCRIPT="/home/debian/shell/login/ssh_login.sh"

if [ ! -f "$DATA" ] ; then
    echo "DATA file doesn't exsit"
    exit 1
fi

if [ ! -x "$SSHSCRIPT" ] ; then
    echo "you need a expect script"
    exit 1
fi

#print menu 1
MainMenu()
{
clear
echo "-------------------------------------"
echo "+              1:hz-idc             +"
echo "+              2:gsb                +"
echo "+              3:beta               +"
echo "+              4:hzxs               +"
echo "+              5:jsbc               +"
echo "-------------------------------------"
echo -e "\n\n\n"
echo "-plz input your choice(1|2|3|4|5|)"
echo "enter q to quit this menu"
read IDC_NUM
}

#print menu 2
DisplayHosts()
{
awk '
BEGIN{FS = "\n"; RS = "" }'\
"\$1 ~ /$1/ {print \$0}" ${DATA} | \
awk '{print $1 "\t" $2}'

MAX=$(awk '\
BEGIN{FS = "\n"; RS = "" }'\
"\$1 ~ /$1/ {print \$0}" ${DATA} | \
awk '{print $1 "\t" $2}' | tail -1 | awk '{print $1}')

echo -e "plz enter your choice \n"
echo -e "enter b to go to previous menu\n"
echo -e "enter q to quit"
read CHOICE
case ${CHOICE} in
        [0-9]*)
        if [ ${CHOICE} -ge 1 ] && [ ${CHOICE} -le ${MAX} ]
            then
            LoginInit $1 ${CHOICE}
            else
            echo "error choice"
            DisplayHosts $1
        fi
        ;;
        b)
        MainMenu
        ;;
        q)
        exit 1
        ;;
        *)
        DisplayHosts $1
        ;;
esac
}

#login
LoginInit()
{
#get the host ip,user,pwd,and port
#$1 is the IDC value
RECORD=$(awk '
BEGIN{FS = "\n"; RS = "" }'\
"\$1 ~ /$1/ {print \$0}" ${DATA} | \
awk '$1 ~ '"/^$2/"'{print $0}')

USER=`echo $RECORD | awk '{print $4}'`
HOST=`echo $RECORD | awk '{print $2}'`
PASSWD=`echo $RECORD | awk '{print $5}'`
PORT=`echo $RECORD | awk '{print $4}'`

${SSHSCRIPT} ${USER} ${HOST} ${PASSWD}
}

#display menu
MainMenu

case ${IDC_NUM}  in
    1)
        DisplayHosts hz
        ;;
    2)
        DisplayHosts gsb
        ;;
    3)
        DisplayHosts beta
        ;;
    4)
        DisplayHosts xs
        ;;
    5)
        DisplayHosts jsbc
        ;;
    q)
        exit 1
        ;;
    *)
        echo "please input (1|2|3|4|5)"
        MainMenu
        ;;
esac


#script finished


用來保存登錄信息的的文件格式,從第二字段起依次為IP,端口,用戶,密碼
hz-IDC
1       192.168.0.80    22      root    123456
2       192.168.0.81    22      root    123456
3       192.168.0.72    22      root    123456
4       192.168.0.46    22      root    asdfasdf
5       192.168.0.7     22      root    asdf

gsb
1       10.10.30.9      22       root   xxx
2       10.10.30.35     22       root   xxx2
3       10.10.30.34     22       root   xd
4       10.10.30.36     22       root   sss
5       10.10.30.37     22       root   sss
6       10.10.30.38     22       root   asdf
7       10.10.30.43     22       root   asdf



3ssh用到的expect腳本
spawn ssh -l $USER $HOST
set timeout 60
while {1} {
    expect -re "Are you sure you want to continue connecting (yes/no)?" {
            # First connect, no public key in ~/.ssh/known_hosts
            send "yes\r"
        } -re "assword:" {
            # Already has public key in ~/.ssh/known_hosts
            send "$PASSWD\r"
        } -re "ermission denied, please try again." {
            # Password not correct
            exit
        } -re "Connection refused" {
            exit
        } timeout {
            exit
        } "#" {
            interact
        } "losed" {
            exit
        }
}



主要思路很簡單,將data文件中的ip信息顯示出來,根據(jù)用戶的選擇,
生成user,root,passwd等信息,再調(diào)用expect腳本來自動登錄,

腳本寫的比較爛,歡迎大家批評指正,
作者: BLZer    時間: 2007-11-16 18:41
運行程序后顯示

-------------------------------------
+              1:hz-idc             +
+              2:gsb                +
+              3:beta               +
+              4:hzxs               +
+              5:jsbc               +
-------------------------------------




-plz input your choice(1|2|3|4|5|)
enter q to quit this menu


輸入q退出,
輸入1后顯示
hz-IDC
1       192.168.0.80
2       192.168.0.81
3       192.168.0.72
4       192.168.0.46
5       192.168.0.7
plz enter your choice

enter b to go to previous menu

enter q to quit

輸入數(shù)字選擇一個ip登錄,輸入q 退出,輸入b回到主菜單,
作者: lovegqin    時間: 2007-11-16 18:48
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: BLZer    時間: 2007-11-16 18:54
原帖由 lovegqin 于 2007-11-16 18:48 發(fā)表
ssh root@192.168.0.$1

把它放到一個腳本里。

比如/usr/local/bin 下 起名 lg

當(dāng)要登陸到191
只需 lg 191

但我這里有幾百臺服務(wù)器...
是不同網(wǎng)段的...
作者: bigtimer    時間: 2007-12-12 11:26
ssh  用到的那個腳本為什么我執(zhí)行說
沒有spawn這個命令呢
作者: gucuiwen    時間: 2007-12-12 11:54
ssh 可以用key方式登錄,不需要輸入密碼,又比密碼登錄安全,為什么還要用expect填寫密碼?
作者: waker    時間: 2007-12-12 12:13
辛苦了兄弟,送你個雞蛋補補身子




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2