scp 無密碼傳輸

2021-06-01 20:39:21 字數 1290 閱讀 9680

expect  指令碼名 引數

指令碼如下:

#!/usr/bin/expect -f

set password 密碼

spawn scp 使用者名稱@目標機器ip:拷貝檔案的路徑 存放本地檔案的路徑

set timeout 300

expect "使用者名稱@目標機器ip's password:" #注意:這裡的「使用者名稱@目標機器ip」 跟上面的一致

set timeout 300

send "$password\r"

set timeout 300

send "exit\r"

expect eof

附:scp引數

-r:拷貝目錄

-c:允許壓縮

乙個完整的例子

#!/usr/bin/expect -f

set password 123456

#download

spawn scp [email protected]:/root/a.wmv /home/yangyz/

set timeout 300

expect "[email protected]'s password:"

set timeout 300

send "$password\r"

set timeout 300

send "exit\r"

expect eof

#upload

spawn scp /home/yangyz/[email protected]:/root/test.sql

set timeout 300

expect "[email protected]'s password:"

set timeout 300

send "$password\r"

set timeout 300

send "exit\r"

expect eof

//命令列引數引用

# set variables

set password [lrange $argv00

]set ipaddr [lrange $argv11

]set scriptname [lrange $argv22

]set arg1 [lrange $argv33

]set timeout -1

//函式使用

proc  functionname {

......

呼叫子函式非常簡單

functionname  $param1 $param2

SCP命令設定無密碼

今天在jenkins上要寫乙個job,需要copy檔案到remote端的乙個機器上,想到經常使用的scp命令。但是使用這個命令雖然很方便,但是需要輸入密碼。如何將這個命令使用到指令碼中去呢?檢視google,有很多解決方法,其中就有一種就是在兩個host之間通過秘鈅來建立安全通訊。過程如下 ssh ...

rsync 無密碼傳輸檔案

最近機器遷移,需要備份檔案,但各個機器間不能穿梭,即無法通過scp來傳輸檔案,在運維的建議下,選用了rsync作為傳輸的工具。預設情況ubuntu安裝了rsync服務,但在 etc下沒有配置檔案,一般情況可以copy示例檔案到 etc下。配置無帳號登入的示例如下,需要主要高亮的部分。mail com...

scp命令 傳輸

從遠處複製檔案到本地目錄 scp root 10.10.10.10 opt soft nginx 0.5.38.tar.gz opt soft 從遠處複製到本地 scp r root 10.10.10.10 opt soft mongodb opt soft 上傳本地檔案到遠端機器指定目錄 scp ...