Centos

如何自動鍵入 SCP 或 SFTP 的密碼以使其自動化?

  • September 20, 2018

我有腳本,我將scp命令備份文件到其他伺服器。但是當它執行時,它要求輸入密碼。有沒有辦法自動化這個?我正在使用 CentOS 5.6。我在使用spawn命令時很少看到他們使用命令的指南,它的說法是-bash: spawn: command not found

#!/usr/bin/expect -f

# connect via scp
spawn scp "user@example.com:/home/santhosh/file.dmp" /u01/dumps/file.dmp
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send "PASSWORD\r"
}
}
interact

確保您安裝了“期望”。在帶有 ‘yum’ 的 Linux 發行版中,執行(以 root 身份):# yum install expect然後通過鍵入以下內容確保期望的路徑在您的腳本中是正確的:$ which expect /usr/bin/expect 返回的路徑將放在腳本的開頭 # !/usr/bin/expect -f

使用帶有空密碼的基於密鑰的身份驗證。這不會要求輸入密碼。

請按照以下步驟操作。

引用自:https://unix.stackexchange.com/questions/26480