我有两个 SSH 密钥“个人”和“工作”。
我需要通过它们来连接一项服务:[email protected]
。
密钥与 service.com 上的两个帐户相关联,但在 SSH 中,它们都必须使用相同的用户“user”。因此,我无法使用~/.ssh/config
和“Host”将两个密钥路由到正确的帐户。因此,我将“工作”密钥放入~/.ssh/config
使用中Host
,并在想要使用我的“个人”密钥时将其注释掉。
我的问题是,有没有更好的方法来解决这个问题?
当我与该服务交互时,我source somefile.sh
无论如何都会这样做,因此在其中使用一些环境变量来处理路由是理想的,但我找不到使用环境变量来更改(例如)ssh 配置文件路径的方法。
我不ssh
直接使用,而是通过第三方工具。
有这样的变量吗?
我在 Linux(Ubuntu)上。
答案1
您可以有两个条目~/.ssh/config
并进行您需要的任何设置:
Host work
User workid
HostName service.com
Host personal
User homeid
HostName service.com
然后你就可以执行ssh work
和ssh personal
。
基本上,诀窍是:该Host
部分不必是真正的 DNS 主机名,可以是任何您想要的内容。