2008-09-17 175 views
44

ssh會在〜/ .ssh文件夾中默認查找它的密鑰。我想迫使它總是在另一個位置看。設置默認的ssh密鑰位置

我使用的解決方法是從非標準位置添加的鑰匙劑:

ssh-agent 
ssh-add /path/to/where/keys/really/are/id_rsa 

(Linux和MINGW32殼在Windows上)

+0

順便說一句,我之所以這麼做是因爲我可以把鑰匙放在Dropbox中。 – tardate 2011-03-28 11:29:16

+3

你可以使用符號鏈接? – 2008-09-17 14:57:02

+7

@tardate,嗯,信任與您的密鑰保管箱似乎是危險的,除非你的密碼保護好他們... – gatoatigrado 2012-12-31 23:15:35

回答

71

如果你只希望指向一個不同的位置,你的身份文件,在你可以用下面的項修改您的〜/ .ssh/config文件:

IdentityFile ~/.foo/identity 

man ssh_config找到其他配置選項。

14

man ssh給我這個選項會是有用的。

-i identity_file 選擇從哪個身份(私鑰)RSA或DSA 驗證讀取文件。對於 協議版本1,缺省值爲〜/ .ssh/identity,對於pro- tocol版本2,缺省值爲〜/ .ssh/id_rsa和〜/ .ssh/id_dsa。還可以在每個主機基礎上指定身份文件在配置文件中。可能有多個-i選項(以及在config- 指定文件中指定的多個身份)。

所以,你可以在你的bash配置創建一個別名的東西,如

別名SSH = 「SSH -i /路徑/到/ PRIVATE_KEY」

我沒有看過成ssh配置文件,但像-i選項這也可能被混疊

-F CONFIGFILE 指定一個可選的每個用戶配置文件。如果在命令行上給出配置文件,系統範圍內的 配置文件(/ etc/ssh/ssh_config)將被忽略。對於每個用戶配置文件,默認的 是〜/ .ssh/config。

-5

該文件的位置是/root/.ssh目錄,名稱爲「authorized_keys」,通常由於安全原因它是隱藏的。 *如果您使用puTTy和命令行,請使用:#cd〜/ .ssh,然後使用vi編輯器編輯「authorized_keys」文件。 另請參閱類型#man ssh_config將提供更多選項(如有必要) 希望這有助於。