处理多个 SSH 密钥/配置

处理多个 SSH 密钥/配置

我有两个 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 workssh personal

基本上,诀窍是:该Host部分不必是真正的 DNS 主机名,可以是任何您想要的内容。

相关内容