2016-02-23 102 views
3

我建立是跨登錄到其他目標的機器和做一個動作(寫入文件,運行shell腳本等)的多臺機器分佈式的服務。共享SSH密鑰在多臺主機

目前,我有這樣的服務配置爲使用用戶名和密碼,作爲SSH-ING到目標機器認證的一種形式,但它需要在目標機器上一些額外的引導得到它的工作。我想轉移到公鑰/私鑰身份驗證模型。

我的問題是,由於此服務分佈在多個主機上,因此將私鑰存儲在安全位置(例如使用AWS KMS或某些類似服務)是不好的做法,並讓我的每臺計算機都讀取安全的位置,還是應該爲我的每臺機器設置一個私鑰?

回答

3

擁有所有的機器得到從中央位置SSH密鑰本身不是比他們都從一箇中央位置得到他們的用戶名和密碼更糟。但是,他們獲得ssh密鑰的連接應該是安全的,這可能意味着您必須至少有一個密鑰 - 即到達中心位置的密鑰 - 存儲在每臺計算機上的本地密鑰。

+0

我不是100%肯定我的問題跟着你。 你是說每臺機器都應該預期存在本地存儲的密鑰,如果沒有,它應該從集中安全位置檢索它? –

+1

我在說,訪問您所稱的「目標」機器的密鑰將存儲在中央位置,但機器仍然需要能夠訪問中央位置。因此,您仍然需要在每臺計算機上存儲某種密鑰或密碼,但即使訪問大量目標計算機,也不需要存儲大量密鑰或密碼。 –

2

我會回答,這是更好地對每一臺機器的私鑰。

這樣,如果私鑰被偷竊的,只有一臺機器被攻破,而不是所有的人。

此外,你只需要保持保護私鑰。根據定義,公鑰是公開的。隨時在Twitter上發佈你的公鑰,如果你喜歡你。它將沒有影響。

+0

是的,我認爲我不會保護公衆的。我並不熟悉非對稱加密,你是否可以擁有與同一個公鑰不同的私鑰? –

+1

否。私鑰總是與一個公鑰關聯。反之亦然。 –

+0

啊哈。我不確定這是否會成爲我想要的方法,我需要共享這個公共密鑰,以便將它分發到我的服務器場將要登錄的目標機器上。 這提出了一個有趣的權衡。 –