我有两个 GitHub 帐户。一份供个人使用,另一份供商业使用。每个都设置有自己的 SSH 密钥gh_personal
和gh_business
内部~/.ssh
.
我有一个个人项目位于~/code/bejebeje
. 每次我去从事该项目时,我都必须记住运行以下命令:
eval `ssh-agent -s`
其次是:
ssh-add ~/.ssh/gh-personal
只有这样我才能做诸如git pull
和 之类的事情git push
。
你猜对了,我总是忘记这样做。
有没有办法让我的 Linux 系统在我进入目录时自动执行此操作~/code/bejebeje
?
我在 Arch Linux 上。
您可以创建
ssh_config
AKA~/.ssh/config
来匹配不同的地址,如下所示:此配置也不需要 ssh-agent ,也不会尝试使用代理,因为请
IdentitiesOnly
参阅有关man ssh_config
可以设置的选项的更多信息ssh_config
回到 git,您可以使用名称“personal_gh”作为要克隆的地址中的主机名:
如果您有需要推送到两个帐户的存储库,我建议在 git 中添加多个远程并推送,如下所示:
您可以通过以下方式添加遥控器:
无论如何,如果您在 ssh 客户端配置中进行了配置,则使用的 SSH 密钥将根据 git 地址的主机名部分进行匹配,通常
~/.ssh/config