我总是用-i参数运行ssh ,并且总是为我连接的任何主机键入正确的密钥是一件麻烦事。
有没有一个configuration文件或什么(在Mac上)来定义连接到特定的主机时使用哪个私钥?
是的,你想创build~/.ssh/config文件。 这使您可以定义主机的快捷方式名称,要连接的用户名以及要使用的密钥。 这是我的一部分,主机名被混淆了:
主机标签
HostName tabs.com
用户我
IdentityFile〜/ .ssh / new_rsa
主持scm.company.com
用户上限
IdentityFile〜/ .ssh / git_rsa
主持项目阶段
主机名50.56.101.167
用户我
IdentityFile〜/ .ssh / new_rsa
有了这个,我可以说, ssh tabs并作为用户me连接到主机tabs.com,与关键new_rsa ,就像我用ssh [email protected] -i ~/.ssh/new_rsa 。
SSH客户端通常使用~/.ssh/identity (ssh v1)或~/.ssh/id_rsa或~/.ssh/id_dsa (v2)中的一个作为默认私钥。 您可以在~/.ssh/config ( IdentityFile参数 – SSH的-i选项实际上覆盖了这个参数)中更改。请参阅man ssh_config了解详细信息。
如果你有多个私钥来处理使用ssh-agent可能是一个更好的select。
有关更多详细信息,请参阅man ssh-agent 。
如果你为不同的服务器使用不同的密钥,我不这么认为。
如果所有服务器都使用一个密钥,只需将其保存为~/.ssh/id_rsa自动使用。