多ssh账户配置遇到的问题

2021/10/08 Linux 共 746 字,约 3 分钟

为什么会碰到这个问题:

直接举栗子,比如我现在遇到可的一种情况:

同一个 linux user 账户,两个 github 账户,由于两个不同的 github 账户无法使用同一个 ssh key,所以生成了两组不同的 ssh key 对应不同的 github 账户。但是两个账户拉取 repo 时会都使用默认的 ssh key,这样势必有一个账户无法拉取。

解决过程:

vim ~/.ssh/config # 目录下创建(或者修改)`config`文件。

新增或者修改两组对应 host 配置:

Host github.com
    HostName github.com
    IdentityFile ~/.ssh/rsa_1
    User username1
Host github_username2
    HostName github.com
    IdentityFile ~/.ssh/rsa_2
    User username2

此后拉取 username2 的项目时需要稍作修改:

# 原本拉取的命令: git clone git@github.com:username2/username2.github.io.git 修改为:
git clone git@github_username2:username2/username2.github.io.git

如果遇到 username2 之前已拉取的项目无法正常运作的情况,需要修改项目的 git config:

vim .git/config # 在repo根目录执行

新增配置:

[url "git@github_username2:"]
    insteadOf = git@github.com:

搞定!

参考:

  • https://superuser.com/questions/366649/ssh-config-same-host-but-different-keys-and-usernames

文档信息

Search

    Table of Contents