macOS Sierra 10.12.4、OpenSSH_7.4p1、LibreSSL 2.5.0。
我的ssh配置文件设置如下(仅其中一台服务器):
Host github
Hostname github.com
HostKeyAlias github
User git
IdentityFile /Users/abhay/.ssh/github
IdentitiesOnly yes
当我ssh github
在命令行使用时,它可以正常工作,使用正确的身份文件并且我能够登录。
但如果我使用,配置将被忽略,而使用我的默认身份文件。其他服务器也是如此,而不仅仅是 github。ssh [email protected]
id_rsa
这是应该如何工作的吗?有时我会忘记别名,或者只是想用 complete 登录user@server
,但 ssh 会失败。
如何解决这个问题?
答案1
是的,应该是这样运作的。
您可以通过将第一行更改为来轻松解决此问题
Host github github.com
原因是您对Host
条目所做的所有配置都与您在命令行中提供的主机名匹配,并且仅适用于此名称。这使得同一主机名可以有多个配置,例如使用不同的密钥。如果没有匹配,则使用默认配置。