G
N
I
D
A
O
L

Git配置多账号

生成多个密钥

  1. 生成多个密钥,生成时修改密钥文件的文件名

    ssh-keygen -t rsa -C "邮箱"
    

    注意上述命令执行完之后第一个输入要求的是输入的保存的文件名

    示例:

    ssh-keygen -t rsa -C "holdyounger@163.com"
    # 保存的时候可以选择保存文件的名称设置为 fork_hodlyounger_ssh_key
    
    # 接着执行另外一个账号
    ssh-keygen -t rsa -C "公司邮箱"
    # 保存的时候可以选择保存文件的名称设置为 id_rsa
    
  2. 添加密钥

    # 切换
    ssh-agent bash
    
    # 添加
    ssh-add ~/.ssh/fork_hodlyounger_ssh_key
    ssh-add ~/.ssh/id_rsa
    
  3. 将密钥添加到账户中

    使用 cat 查看对应账户的 pub 文件。将其内容添加到账户中。

  4. 添加本地配置文件

    添加本地配置文件用以区分密钥在哪个git中使用,配置如下所示
    配置文件更详细的说明可以参考这篇文章 Git:单台电脑同时配置多个git账号 - 怒吼的萝卜 - 博客园

# 这个是我私人的GitHub
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile  ~/.ssh/fork_hodlyounger_ssh_key

# 这个是公司的GitLab
Host git-biz.cn
HostName git-biz.cn
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

配置文件补充说明

# 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost
Host
# 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
HostName
# 服务器open-ssh端口(默认:22,默认时一般不写此行)
Port
# 配置登录时用什么权限认证
# 可设为(publickey, password publickey, keyboard-interactive 等)
PreferredAuthentications
# 证书文件路径(如~/.ssh/id_rsa_*)
IdentityFile
# 云端仓库登录用户名
User

校验

简单点就是ssh:

ssh -T "holdyoungere@163.com"

返回 Hi (用户名)! You've successfully authenticated, but GitHub does not provide shell access. 开头样式的表示添加密钥成功了。

posted @ 2023-06-12 09:24  StimuMing  阅读(126)  评论(0编辑  收藏  举报