簡體   English   中英

SSH:使用公共密鑰身份驗證時,無需密碼即可復制文件。

[英]SSH : Copy files without password when using public key authentication.

我們有2台Debian服務器,一台用於測試,一台用於實時。 我有一些腳本應該執行以將數據從實時傳輸到測試。 對於這兩個服務器,我們都使用PublicKeyAuthentication,將id_rsa.pub的內容添加到測試服務器上的authorized_keys中。

即使這樣做了,每次我啟動從一台服務器到另一台服務器的傳輸時,都會要求我輸入密碼。

我還嘗試調用ssh-copy-id,但這沒有幫助,我得到的只是authorized_keys中的重復條目。

最后,當我嘗試sshpass時,收到以下消息,並且我無法輸入密碼作為其唯一的消息。

sshpass -v -p 'PASS' ssh root@our_server
SSHPASS searching for password prompt using match "assword"
SSHPASS read: Enter passphrase for key '/root/.ssh/id_rsa': 

有任何想法嗎? 謝謝。

從sshpass的輸出中,它表明正在詢問密鑰的密碼,而不是服務器的密碼:

輸入密鑰'/root/.ssh/id_rsa'的密碼

用密碼保護SSH密鑰是一種很好的做法,但是您不能完全以這種方式自動執行操作,正如您所發現的那樣。 根據您的情況,您可以執行以下任一操作:

  • 使用SSH代理。 這是一個守護程序,將詢問您一次密碼,並保留私鑰直到您將其刪除為止。 這仍然具有您的SSH密鑰在磁盤上受密碼保護的優點,但是您可以將其用作無密碼密鑰。 這樣做還有一個好處,就是您可以通過SSH轉發SSH代理:如果您將SSH從計算機從SSH轉發到服務器A,然后再到服務器B,則最后一個連接可以使用存儲在計算機上的密鑰(而不必復制您的服務器A密鑰)。

  • 從密鑰中完全刪除密碼(您可以使用ssh-keygen將密碼更改為空白)

您如何執行數據傳輸? 是scp嗎? 檢查您的系統用戶名,確保正確的用戶將公共密鑰安裝到authorized_keys文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM