複製文件時所需的密鑰密碼

複製文件時所需的密鑰密碼

我通常會收到輸入密碼的提示,但這次我的終端機要求輸入金鑰的密碼。

rcihp145:qa1wrk13:/qa1users1/rgs/test/qa1wrk13/scripts>scp -p msingh2@rcihp145:/home/msingh2/set_run_jobs .
The authenticity of host 'rcihp145 (10.3.37.48)' can't be established.
RSA key fingerprint is 62:f9:d2:7e:d5:ac:bc:9d:0f:8f:82:d3:d4:a9:dc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/qa1users1/rgs/test/qa1wrk13/.ssh/known_hosts).

Enter passphrase for key '/qa1users1/rgs/test/qa1wrk13/.ssh/id_dsa': 

我可以得到這個鍵映射的解釋或一些解決方案嗎?

答案1

scp 使用 ssh 協定傳輸檔案。由於您的~/.ssh/目錄中有一個密鑰文件,因此 scp 假定您想要使用「無密碼登入」(請參閱如何在 Linux 上設定 SSH 免密碼登入?)使用該鍵。但是,此金鑰檔案受其自己的密碼保護,您必須先輸入該密碼,然後才能使用該金鑰來加密與目標電腦的通訊。

在這樣的設定中,您應該ssh-agent運行。該程式將追蹤您正在使用的 ssh 密鑰,並在每次會話時詢問您一次密鑰檔案的密碼。在大多數桌面發行版中,ssh-agent 會在登入時自動啟動,因此您不必擔心。

答案2

這份文字記錄有兩個部分。首先,用戶端不知道伺服器是誰,因此它會提示您驗證伺服器的身份(直到「您確定要繼續連線嗎?」)。然後客戶端嘗試寫入您已確認此身份,但失敗了(可能是因為它沒有寫入 的權限/qa1users1/rgs/test/qa1wrk13/.ssh/known_hosts。您應該讓客戶端儲存伺服器的身份,或手動將其新增至檔案。

第二部分,最後一行,是關於在伺服器上驗證使用者身分的。有幾種方法可以實現這一點;最受歡迎的是密碼(每次使用時都要輸入ssh)或金鑰檔案(可以透過密碼保護,如果是的話,您可以在每個會話中輸入該密碼一次。

欲了解更多詳細信息,請閱讀基於 SSH 金鑰的身份驗證:known_hosts 與authorized_keys

如果您想要密碼提示而不是提示輸入金鑰檔案的密碼短語,請告訴 ssh 用戶端不要使用金鑰檔案。

scp -o PubkeyAuthentication=no -p msingh2@rcihp145:/home/msingh2/set_run_jobs .

相關內容