Ssh-Agent

在 CentOS6 中向 ssh-agent 添加了太多密鑰 - 我該如何阻止?

  • April 6, 2014

我試圖調試一個 ssh 問題Too many authentication failures,並發現ssh -vvssh 在回退嘗試密碼之前提供了很多密鑰。

經過調查,我發現這些鍵是ssh-agentstartxX11 啟動時開始添加的。

我的~/.ssh目錄中有很多不同機器的密鑰,多年來通過許多系統更新轉移。我什至沒有意識到它ssh-agent正在執行。

我認為ssh-add,根據手冊頁,預設情況下只會添加id_dsa,id_rsaidentity. 但不知何故,它也添加了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文件,但我不認為這是“正確”的答案。

關於向伺服器發送額外的密鑰。不,這不是任何形式的安全風險。

引用自:https://unix.stackexchange.com/questions/123337