ssh、scp免祕鑰遠程執行命令:expect

 首先安裝expect

# yum -y install expect

命令格式

# ./expect IP COMM    #expect是獨立的工具,所以不能用sh來執行

#!/usr/bin/expect

set timeout -1    #超時時間默認10秒,如果你要執行一條很漫長的命令,那麼這個很有必要,這裏將超時時間設置爲永不超時

set COMMADN1 [lindex $argv 0]    #傳參變量,這裏引用腳本後面的第一個參數

set COMMADN2 [lindex $argv 1]    #傳參變量,這裏引用腳本後面的第二個參數

spawn ssh -p 22 $COMMADN1 $COMMADN2    #可以將ssh變成scp命令免祕鑰遠程拷貝

expect {

        "yes/no" {send "yes\r";exp_continue}    #詢問yes/no的時候自動輸入yes

        "password:" {send "123456\r"}        #詢問密碼時自動輸入定義好的密碼123456

        }

expect eof


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