如何在 shell 腳本中使用 scp 或 sftp 將檔案從一台伺服器複製到另一台伺服器?

如何在 shell 腳本中使用 scp 或 sftp 將檔案從一台伺服器複製到另一台伺服器?

我目前正在創建一個腳本,我想使用 或 將文件從一台伺服器複製到另一台scp伺服器sftp;我感到困惑的是身份驗證。

如果我使用的scp話我將如何給予密碼?

答案1

對於這種自動使用,您不應該使用密碼身份驗證,而應該使用基於金鑰的身份驗證。透過基於密鑰,無需任何密碼提示即可連接。

您需要在使用 SSH 用戶端的一側產生金鑰對,然後將公鑰複製到 SSH 伺服器。您會發現無數關於如何實現這一目標的頁面,但這裡有一個:

https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/

答案2

使用 ssh 金鑰提高安全性

或者您可以安裝 sshpass 並執行以下操作:

sshpass -p "password" scp file.txt user@machine:/path

相關內容