使用scp傳輸和下載文件

使用scp傳輸文件(從服務器A傳文件到服務器B)

#!/usr/bin/expect
set timeout -1
spawn scp A_path B_username@B_IP:B_path
expect {
    "password" {send "$B_password\r";}
    "yes/no" {send "yes\r";exp_continue}
}
expect eof
exi

使用scp傳輸文件(從服務器B下載文件到服務器A)

#!/usr/bin/expect
set timeout -1
spawn scp B_username@B_IP:B_path A_path
expect {
    "password" {send "$B_password\r";}
    "yes/no" {send "yes\r";exp_continue}
}
expect eof
exit

set timeout -1 表示永不超時
假如輸出包含yes/no,則表示是第一次登入,需要輸入yes來添加信任。
exp_continue表示繼續此循環

腳本沒加執行權限 bash **.sh這樣執行會報以下錯誤:

scp.sh: line 3: spawn: command not found
couldn't read file "{": no such file or directory
scp.sh: line 5: syntax error near unexpected token `}'
scp.sh: line 5: `    "password" {send "xxxxxxxxxx\r";}'

正確執行:

chmod +x **.sh
./**.sh

腳本免密登陸內網

#!/usr/bin/expect -f
spawn ssh username@IP
expect "password:"
send "輸入密碼"
interact
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章