it-swarm.cn

设置默认的ssh密钥位置

默认情况下,ssh会在〜/ .ssh文件夹中查找其键。我想强迫它总是在另一个地方看。

我正在使用的解决方法是将密钥从非标准位置添加到代理:

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

(在Windows上的Linux和MingW32 Shell上)

51
tardate

如果您只想指向身份文件的其他位置,则可以使用以下条目修改〜/ .ssh/config文件:

IdentityFile ~/.foo/identity

man ssh_config查找其他配置选项。

79
Drew Frezell

man ssh给了我这个选项可能会有用。

-i identity_file选择从中读取RSA或DSA身份验证的标识(私钥)的文件。协议版本1的默认值为〜/ .ssh/identity,协议版本2的默认值为〜/ .ssh/id_rsa和〜/ .ssh/id_dsa。配置中也可以基于每个主机指定身份文件文件。可以有多个-i选项(以及配置文件中指定的多个标识)。

所以你可以在你的bash配置中创建一个别名

别名ssh =“ssh -i/path/to/private_key”

我没有查看过ssh配置文件,但是像-i选项一样,这也可能是别名

-F configfile指定备用的每用户配置文件。如果在命令行上给出了配置文件,则将忽略系统范围的配置文件(/ etc/ssh/ssh_config)。每用户配置文件的默认值为〜/ .ssh/config。

17
roo