2008-09-17 141 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将提供更多选项(如有必要) 希望这有助于。