2014-01-15 44 views
0

我有一個用於連接到服務器S的ssh的公鑰/私鑰對,但現在,即使對另一個不需要的設備執行ssh任何密鑰認證,我一直有消息:Linux:SSH/SCP即使在無密鑰連接中也要求使用id_dsa密碼

> ssh [email protected] 
Enter passphrase for key '/home/user/.ssh/id_dsa': 
[email protected]'s password: 

通常我打了第一個問題輸入(保留爲空),我鍵入用戶在第二個問題的密碼。

但是,因爲我想編寫一些腳本來自動化一些事情,「輸入密鑰'/home/user/.ssh/id_dsa':」消息困擾我。

爲什麼每個連接請求都顯示?我可以做些什麼,所以它不會問我,每一個連接?只需要服務器S?

感謝

+1

unix.stackexchange.com可能會是一個更好的地方要問這個。 – Barmar

回答

1

基於this ServerFault answer

ssh -o PubkeyAuthentication=no host.example.org

爲了避免鍵入它每一次,你可以添加這樣的事情~/.ssh/config

Host host.example.org 
PubkeyAuthentication no 
+0

它的工作原理,但是因爲我在Ruby中執行腳本來執行scp,所以它仍然問我。我把這些行放在/ etc/ssh/ssh_conf中,但它不起作用 –

+0

你是在調用'scp'本身,還是在使用某個庫,比如'Net :: SCP'?如果是前者,'scp -o PubkeyAuthentication = no bluh host.example.org:'適用於我。如果稍後,您可能需要使用'Net :: SSH'手動創建帶有所需選項的ssh連接並使用它。 – aland

2

假設你正在使用Linux ssh-agent存儲您的密鑰,因此您不必繼續輸入。

Using ssh-agent to manage your keys

+0

感謝您的回答,但我喜歡在需要時鍵入我的密鑰,似乎更安全 –

相關問題