在 CentOS6 中向 ssh-agent 添加了太多密鑰 - 我該如何阻止?
我試圖調試一個 ssh 問題
Too many authentication failures
,並發現ssh -vv
ssh 在回退嘗試密碼之前提供了很多密鑰。經過調查,我發現這些鍵是
ssh-agent
從startx
X11 啟動時開始添加的。我的
~/.ssh
目錄中有很多不同機器的密鑰,多年來通過許多系統更新轉移。我什至沒有意識到它ssh-agent
正在執行。我認為
ssh-add
,根據手冊頁,預設情況下只會添加id_dsa
,id_rsa
和identity
. 但不知何故,它也添加了BillBrewer.pub
,JanStewer.pub
,PeterGurney.pub
,PeterDavy.pub
,DanlWhiddon
,HarryHawke.pub
,OldUncleTomCobley.pub
並在我希望提供密碼時在每個登錄會話中顯示全部內容。所以伺服器上的 sshd 決定足夠了,然後斷開連接。我該如何控制這種行為?除了從我的 .ssh 目錄中刪除我額外的公鑰並只保留我需要的私鑰之外,但這一直是過去保存它們的一個方便的地方。
就此而言,如果我願意,如何停止 ssh-agent 執行?
這是一個安全問題(將密鑰發送到不應該獲取它們的伺服器)嗎?
我意識到我可以在每個會話的基礎上覆蓋它,
-o PreferredAuthentications=password
但我更喜歡系統修復。
- 更奇怪的是:我嘗試使用
ssh-add -D
刪除所有身份,或者ssh-add -d *.pub
,但是當我使用時ssh-add -l
,它們都還在那裡。CentOS 6.5 版,OpenSSH_5.3p1,openssh-clients-5.3p1
首先,密鑰應該辨識客戶端,而不是遠端伺服器。因此,您應該只有非常少量的鍵(例如 1)。
官方實用程序本身在查找您的密鑰 (和)
ssh-agent
時只會查找一些預定義的名稱。 但是,除了. 您可能正在執行一個密鑰環守護程序(例如)。預設情況下,密鑰環守護程序可能由您的桌面環境啟動。在您的桌面環境會話設置中四處尋找以將其關閉。~/.ssh/id_rsa
~/.ssh/id_dsa
~/.ssh/id_ecdsa``~/.ssh/identity
ssh-agent``gnome-keyring-daemon
您也可以放入
IdentitiesOnly=yes
您的~/.ssh/config
文件,但我不認為這是“正確”的答案。關於向伺服器發送額外的密鑰。不,這不是任何形式的安全風險。