设置默认ssh密钥位置

设置默认ssh密钥位置,ssh,Ssh,默认情况下,ssh将在~/.ssh文件夹中查找其密钥。我想强迫它总是在另一个地方寻找 我使用的解决方法是将非标准位置的密钥添加到代理: ssh-agent ssh-add /path/to/where/keys/really/are/id_rsa (在Linux和Windows上的MingW32 shell上)man ssh为我提供了这些选项,这些选项可能会很有用 -我需要一个身份文件 选择一个文件,其中包含RSA或 DSA身份验证已读取。默认值为~/.ssh/identity 协议版本1,

默认情况下,ssh将在~/.ssh文件夹中查找其密钥。我想强迫它总是在另一个地方寻找

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

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

(在Linux和Windows上的MingW32 shell上)

man ssh
为我提供了这些选项,这些选项可能会很有用

-我需要一个身份文件 选择一个文件,其中包含RSA或 DSA身份验证已读取。默认值为~/.ssh/identity 协议版本1,以及适用于pro的~/.ssh/id_rsa和~/.ssh/id_dsa- tocol第2版。标识文件也可以在per上指定- 配置文件中的主机基础。有可能 多个-i选项(以及配置中指定的多个标识- 保存文件)

因此,您可以在bash配置中使用以下内容创建别名

别名ssh=“ssh-i/path/to/private\u key”

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

-F配置文件 指定每个用户的可选配置文件。如果在命令行中提供了配置文件,则系统范围的配置文件(/etc/ssh/ssh\u config)将被忽略。每个用户配置文件的默认值为~/.ssh/config


如果您只希望指向标识文件的其他位置,则可以使用以下条目修改~/.ssh/config文件:

IdentityFile ~/.foo/identity

manssh\u config
查找其他配置选项。

请注意,您可以针对多个键多次列出此参数。但是,在密钥无效的系统上,列出过多的密钥(通常大于4)可能会导致在提示输入密码之前验证失败。ssh代理或keychain()在这里很有用。如果您的ssh密钥有密码保护,最好
ssh添加您的私钥
,否则,它总是要求密钥的密码,我必须在配置的开头添加该行。把它附加到末尾不起作用。顺便说一句,我之所以想这样做是为了让我能把钥匙放在Dropbox里。。真是一种享受@tardate,嗯,用你的密钥信任dropbox似乎很危险,除非你能很好地保护它们……你真的应该在你的每台计算机上都有单独的密钥,这样当有人关闭其中一台计算机时,你只需从服务器上删除它的公钥,而不用禁用其余的计算机。在Dropbox上拥有私钥相当于在Dropbox上拥有带有密码的文本文件=>有些事情可能会发生,也可能不会发生,但仍然是个坏主意。@equivalent8-注意!实际上,我主要使用它来从Dropbox中为我的(主要的也是唯一的)计算机植入种子。所以当我买了一台新电脑,它就可以用了。。