2010-12-23 165 views
18

我在承載多個網站的服務器上爲許多用戶帳戶使用私有SSH密鑰和無密碼條目。共享SSH密鑰

我使用的每個用戶帳戶相同的私鑰。 (因爲我很懶惰,或者說是「正確」的方式)。

我現在要授權其他受信任計算機在國內的不同部分。如果我將我的〜/ .ssh的內容複製到該機器上,那麼這些工作不需要其他設置?

將兩臺機器能夠保持在同一時間有關聯嗎?

回答

8

這應該工作,並且兩臺機器應該能夠同時保持連接 - 在硬盤崩潰之前,我不得不復制我的~/.ssh目錄幾次。

0

這是安全的,只要你不分享你的私鑰。只需將公鑰放在遠程機器的〜/ .ssh/authorized_keys文件中即可進行無密碼輸入。儘管如此,不要共享私鑰。

這些密鑰僅用於身份驗證。只要您可以使用該私鑰登錄一次,您可以使用相同的密鑰隨時登錄多次。

+0

不太我問什麼 - 我有密碼的條目中設置了一個遠程機器,但我想授權具有相同私鑰的多臺計算機。 – 2010-12-23 16:38:59

+0

這正是我的回答。你拿你的公鑰,然後把它放在你想訪問的任何遠程機器上。你在這裏沒有分享私鑰,你正在共享一個公鑰。這就是公共密鑰公開的原因:分享它們。 – wilhelmtell 2010-12-23 16:50:18

25

更新:作爲額外的安全建議,您應該爲新機器生成一組新密鑰,並將新密鑰發送給您使用它的各種主機,而不是複製您的私鑰。但是,如果您只是將所有內容移動到新計算機上,則可以隨身攜帶密鑰,但請記住在舊計算機上安全地銷燬它們。


正確的答案是從舊機器複製您的.ssh目錄複製到新。這部分很簡單(scp -r .ssh [email protected]:~將會很好 - 或者您可以逐個字符地鍵入鍵,直到您)。

- 我想缺少的環節來回答這個問題是你必須做的你的私人密鑰複製到新的機器是什麼。

我不得不運行每個鍵下述(I具有用於各種組織3個獨立的鍵)

ssh-add .ssh/[key-filename] 

如果省略了文件名參數,id_dsa假設。

一旦你這樣做每個鍵(如果需要進入他們關鍵的密碼,它會提示你),ssh將能夠使用這些密鑰進行驗證。

否則,複製量不會太多。 SSH將忽略.ssh中的密鑰,直到它們被明確使用(通過ssh -i [keyfilename] ...)。

4

在系統之間複製~/.ssh是好的,只要它僅限於像authorized_keysconfigknown_hosts這樣的文件。如果您希望兩臺主機能夠互相訪問,每臺主機都需要自己的私有SSH密鑰,然後該密鑰必須添加到其他主機的authorized_keys文件中。

這是不是在系統中複製私鑰的好主意!

思考的現實世界的祕密。每個知道祕密的人都會增加被揭露的機會。

你的私人密鑰複製到新系統時,都會增加你的暴露風險,因爲複製私鑰是比他們住在中最薄弱的系統安全性較低(因爲其他系統也並非無懈可擊要麼)。

如果你的筆記本電腦被盜,你需要撤銷所有私鑰(和保存的密碼),這些存儲在那裏。當登錄到服務器的唯一方法是非常關鍵時,這會變得有問題。你最好記住在你的桌面上生成一個新的密鑰,並在每個系統上安裝它,以撤銷舊的密鑰!

現在考慮您的桌面被黑客攻擊,有人偷了你的私鑰不知情的情況下。也許你已經在你的工作筆記本電腦和個人桌面之間共享了這個鑰匙,但是你的桌面並不需要訪問你的工作系統(因爲你有很好的工作/生活平衡)。即使沒有損害您的筆記本電腦,攻擊者現在也可以訪問您的工作系統。工作中的信息安全團隊迫使您交出筆記本電腦,以便他們審覈,但經過一週的分析後,他們什麼都沒有發現。不那麼有趣。

這些看起來似乎牽強並且不太可能,特別是如果你不是主要目標(例如執行官或系統管理員),但這只是一個好習慣,尤其是考慮到爲每個系統創建新密鑰是多麼容易並在每臺相應的服務器上安裝公鑰。 (考慮配置/ dotfile傳播系統的無數之一,如果這似乎令人望而生畏。)

此外,它意味着你將升級每個密鑰的安全性,以符合標準,因爲他們提高。當你退休舊系統並刪除他們的鑰匙時,你可以旋出他們較弱的鑰匙。 (如果一些垃圾拾起找到你的舊筆記本電腦和undeletes您的鑰匙,他們將不授予任何權限。)