我总是ssh
使用该-i
参数运行,但对于我所连接的任何主机,总是输入正确的密钥很麻烦。
是否有一个配置文件或其他东西(在 Mac 上)来定义连接到特定主机时使用哪个私钥?
答案1
是的,您需要创建一个~/.ssh/config
文件。它允许您定义主机的快捷方式名称、要连接的用户名以及要使用的键。这是我的部分内容,主机名已混淆:
主机选项卡 主机名 tabs.com 使用我 身份文件 ~/.ssh/new_rsa 主机 scm.company.com 用户上限 身份文件 ~/.ssh/git_rsa 主持项目暂存 主机名 50.56.101.167 使用我 身份文件 ~/.ssh/new_rsa
通过这个,我可以说,并以用户身份使用密钥ssh tabs
连接到主机tabs.com ,就像我使用过一样。me
new_rsa
ssh [email protected] -i ~/.ssh/new_rsa
答案2
SSH 客户端通常使用(ssh v1)或(v2)~/.ssh/identity
之一作为默认私钥。您可以在(参数 - SSH 选项实际上会覆盖此设置。有关详细信息,请参阅)。~/.ssh/id_rsa
~/.ssh/id_dsa
~/.ssh/config
IdentityFile
-i
man ssh_config
如果你有多个私钥需要处理,使用私钥ssh-agent
可能是一个更好的选择。
请参阅man ssh-agent
以了解更多详细信息。
答案3
如果您对不同的服务器使用不同的密钥,我认为不存在这种情况。
如果您对所有服务器使用单个密钥,只需将其保存为~/.ssh/id_rsa
,它将被自动使用。