1. 程式人生 > 實用技巧 >自動登入跳板機->開發機

自動登入跳板機->開發機

#!/usr/bin/expect

# relay使用者名稱

set USER [lindex $argv 0]

# relay PIN碼

set PIN [lindex $argv 1]

# [可選]開發機地址, 如:user@host

set HOST [lindex $argv 2]

puts $HOST

# [可選]開發機密碼

set PASSWORD [lindex $argv 3]

# 登入relay

spawn ssh [email protected]

# 開啟除錯模式

#exp_internal 1

# relay PIN碼 + Token(Token需手動輸入)
interact
expect {

    -re "password:*" {

        send_user "PIN:****** + Token:"

        expect_user {

            -timeout -1

            -re "(.*)\n"

        }

        set TOKEN $expect_out(buffer)

        send "$PIN$TOKEN\r"

        exp_continue
    }
    # 自動登入開發機
    -re "" {
        if { "$HOST" != "" } {
            send "$HOST\r"

            # [可選]自動開發機輸入密碼

            if { "$PASSWORD" != "" } {

                expect -re "password:" { send "$PASSWORD\r" }

            }

        }

    }

}

# 關閉除錯模式

#exp_internal 0

interact

exit
  1. 首先安裝expect
  2. 將上面的指令碼copy至你的電腦上
  3. expect .relay.expect username ping hostname