如何设置 .ssh/config 以便它可以在用户名不同的不同计算机上使用?

如何设置 .ssh/config 以便它可以在用户名不同的不同计算机上使用?
Host foo
  HostName foo.com
  User specialuser
  IdentityFile /Users/XXX/.ssh/id_rsa

Host *
  User defaultuser

在大多数机器上,我的 UNIX 登录用户名是XXX。但在某台机器上,它是YYY,如何修改上述.ssh/config文件,以便它能够在所有机器上运行?

答案1

尝试使用%u转义序列,它扩展为当前用户的用户名:

Host foo
HostName foo.com
User specialuser
IdentityFile /Users/%u/.ssh/id_rsa

Host *
User defaultuser

请阅读下IdentityFile节以man ssh_config了解其他转义序列。

答案2

使用 %d homedir 令牌的更好的跨平台解决方案可能是:

IdentityFile %d/.ssh/id_rsa

或者更简单

IdentityFile ~/.ssh/id_rsa

相关内容