当连接到一个特定主机时,我怎么能说服id_dsa没有存储在〜/ .ssh中.
显而易见的问题是为什么.答案是这个密钥更敏感,需要密码保护,而另一个密钥用于自动化.
虽然这不是一个编程问题,但我不会惊讶地发现这需要一个编程解决方案.
这是一个方便的技巧,你可以用来使它变得非常简单,奇怪的是,我刚刚和朋友在30分钟前讨论过这个问题.
的〜/ .ssh /配置
IdentityFile ~/.ssh/ident/%r@%h IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_dsa
这使得使用回退模式变得非常容易,因为选项是从上到下运行的.
然后要为"Bob @ someHost"指定特定键,您只需创建该文件
~/.ssh/ident/Bob@someHost
它会在登录该主机时首先尝试.
如果找不到该文件,或者该密钥被拒绝,它将尝试下一个,在这种情况下,
~/.ssh/id_rsa
这种技术的好处是你不必每次添加另一个主机时都添加一个新条目,你所要做的就是在正确的位置创建密钥文件,然后自动完成其余的工作.
在你的.ssh/config
,设置如下:
Host somehost IdentityFile /path/to/extra_secret_key
我有一个IdentityFile
设置为的主机~/.ssh/iddsa_aux
,但参数应该接受任何路径名.