ssh默认会在〜/ .ssh文件夹中查找其键。我想强迫它总是在另一个地方看。
我正在使用的解决方法是将密钥从非标准位置添加到代理:
ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa
(在Windows上的Linux和MingW32 shell上)
答案 0 :(得分:80)
如果您只想指向身份文件的其他位置,可以使用以下条目修改〜/ .ssh / config文件:
IdentityFile ~/.foo/identity
man ssh_config
找到其他配置选项。
答案 1 :(得分:18)
man ssh
告诉我这个选项可能会有用。
-i identity_file 选择RSA或其身份(私钥)的文件 读取DSA身份验证。默认值为〜/ .ssh / identity 协议版本1,以及〜/ .ssh / id_rsa和〜/ .ssh / id_dsa 协议版本2.身份文件也可以在 配置文件中的主机基础。有可能 多个-i选项(以及配置中指定的多个标识) uration文件)。
因此,您可以使用类似
的内容在bash配置中创建别名alias ssh =“ssh -i / path / to / private_key”
我没有查看过ssh配置文件,但是像-i
选项一样,这也可能是别名
-F configfile 指定备用的每用户配置文件。如果一个 配置文件在系统范围的命令行中给出 配置文件(/ etc / ssh / ssh_config)将被忽略。该 每用户配置文件的默认值为〜/ .ssh / config。