如何将ssh客户端配置为自动使用私钥


10

我总是ssh使用-i参数运行,总是麻烦为我要连接的任何主机键入正确的密钥。

是否有配置文件或其他内容(在Mac上)来定义连接到特定主机时要使用的私钥?

Answers:


12

是的,您要创建一个~/.ssh/config文件。这样,您可以定义主机的快捷方式名称,您要用作连接的用户名以及要使用的键。这是我的一部分,带有混淆的主机名:

主机标签
     主机名tabs.com
     用我
     IdentityFile〜/ .ssh / new_rsa

主机scm.company.com
     用户上限
     IdentityFile〜/ .ssh / git_rsa

主持项目暂存
     主机名50.56.101.167
     用我
     IdentityFile〜/ .ssh / new_rsa

这样,我可以说出来,ssh tabs并以用户身份me使用key 连接到主机tabs.com new_rsa,就像我曾经使用过一样ssh me@tabs.com -i ~/.ssh/new_rsa


如果您ssh-agent出于某种原因不想使用它,这也是一个不错的选择。
voretaq7 2011年

我不知道那是可能的。+1
Safado 2011年

2

SSH客户端通常将~/.ssh/identity(ssh v1)~/.ssh/id_rsa~/.ssh/id_dsa(v2)之一用作默认私钥。您可以在中更改~/.ssh/configIdentityFile参数-SSH的-i选项实际上将覆盖此设置。有关man ssh_config详细信息,请参阅)。

如果您有多个私钥要使用,ssh-agent则可能是一个更好的选择。
请参阅man ssh-agent以获取更多详细信息。


+1用于描述默认值并引用手册页。
pjmorse 2011年

0

如果您对不同的服务器使用不同的密钥,我认为没有。

如果您对所有服务器都使用一个密钥,只需将其另存为~/.ssh/id_rsa,它将自动使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.