2017-10-04 57 views
0

我必須配置hadoop羣集。爲此,要求所有系統都應該能夠在無密碼模式下相互ssh。由於安全性,我只允許基於密鑰的ssh(沒有密碼)。集羣中有5個系統。我必須生成單個鍵值對。如何將所有其他系統配置爲僅使用此密鑰對,以便它們可以在無密碼模式下彼此ssh。如何使用單個鍵值對在羣集中的ssh

+0

請查看以下信息https://serverfault.com/questions/2429/how-do-you-setup-ssh-to-authenticate-using-keys-instead-of-a-username-password –

回答

0

我假設你的意思是Linux機器。

必須有一個〜/ .ssh目錄下的每個計算機上的chmod 700將發起或接收連接的帳戶。

(私人)密鑰必須在沒有密碼的情況下生成。

不要忘記,默認弱(< 2048位)密鑰最近不被ssh接受。

以下必須完成來源一個連接。

  1. 根據需要,您的私鑰必須放在〜/ .ssh/id_rsa或〜/ .ssh/id_dsa中。您可以使用其他名稱,但必須將其包含在發出請求的計算機上的-i選項上以顯式指示私鑰。
  2. 你的私有密鑰必須允許機器搭配chmod 600

我們收到的請求:

  1. 你的公鑰必須被放置在一個名爲的〜/ .ssh文件/該賬戶下的authorized_keys將收到的連接。您也可以在此處放置允許通過此帳戶連接的其他密鑰。一個特別棘手的問題是,如果你在vi中並將密鑰從PuTTY的粘貼緩衝區粘貼到文件中,則密鑰以「ssh-」開頭。如果你不在插入模式下,第一個「s」將把vi放入插入模式,其餘的鍵看起來就好了。但是在密鑰的開頭你會錯過一個「s」。我花了幾天的時間找到它。
  2. 我喜歡chmod 600〜/ .ssh/authorized_keys,但通常不需要。
  3. 現在,您必須將主機指紋添加到緩存。轉到機器A,然後ssh轉到機器B.第一次,您將收到一個類似「您是否要添加...到主機密鑰緩存?」的查詢。這將非常有效地停止您的自動化過程。你有幾個選擇,這取決於你的情況:a。從5臺機器中的每臺機器手動ssh 20次到另外4臺機器並說「是」。灣你可以得到名爲「known_hosts」的文件(這就是ssh所稱的「緩存」),併合並條目,以便可以將相同的host_keys複製到所有機器上。 C。您可以將主機指紋放在/ etc/ssh/ssh_known_hosts中。 d。將指紋放入DNS(請參閱man ssh)。即只需在您的ssh配置中設置StrictHostKeyChecking即可關閉它(不推薦)。
相關問題