![如何设置 .ssh/config 以便它可以在用户名不同的不同计算机上使用?](https://linux22.com/image/1301883/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20.ssh%2Fconfig%20%E4%BB%A5%E4%BE%BF%E5%AE%83%E5%8F%AF%E4%BB%A5%E5%9C%A8%E7%94%A8%E6%88%B7%E5%90%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E4%B8%8D%E5%90%8C%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8A%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
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