git与ssh多账户共存

git与ssh多账户共存

  • 前言
  • git多账户
  • ssh多公钥
  • 参考

前言

在使用git与ssh时,经常会遇到多个账户共存的情况
例如使用不同的公钥登陆到不同的服务;使用不同的git信息进行commit

git多账户

在默认情况下 git的信息存在 ~/.gitconfig
可以使用命令查看

git config --global user.name 
git config --global user.email

使用文件夹来区分不同的git信息, 需要以/结尾,并且可以使用**通配子路径

[includeIf "gitdir:path/to/you/dir/"]
    path = ~/.gitconfig_self
[includeIf "gitdir:path/to/you/dir/**"]
    path = ~/.gitconfig_self1

例如.gitconfig_self文件

[user]
    name = youName
    email = [email protected]

进入自定义路径 执行

git config user.email

可以看到用户名发生变化

ssh多公钥

生成密钥

ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_aaa
ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_bbb

如果~/.ssh/config不存在

touch ~/.ssh/config
# aaa
Host aaa.com
    HostName aaa.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_aaa
# bbb
Host aaa.com
    HostName bbb.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_bbb
# 配置文件参数
# Host 是一个别名,建议配置为HostName 
# HostName 要登录主机的主机名
# User 登录名
# PreferredAuthentications publickey,password,keyboard-interactive
# IdentityFile 指明上面User对应的identityFile路径

在gitlab/github上配置好公钥登陆之后,进行验证

ssh -T [email protected]

参考

https://git-scm.com/docs/git-config
https://zhuanlan.zhihu.com/p/379982981
https://juejin.cn/post/6987392622407254029

你可能感兴趣的:(编程开发,环境搭建,git,ssh,运维)