美文网首页
git 不同的邮箱配置不同的ssh

git 不同的邮箱配置不同的ssh

作者: whqfor | 来源:发表于2019-04-25 14:30 被阅读0次

git 不同的邮箱配置不同的ssh

背景:

1.提交代码到公司gerrit,需要使用公司邮箱aaa.@company.com 生成的SSH。
2.提交代码到github,想使用个人邮箱bbb.@126.com 生成的SSH。

环境:Mac系统

配置ssh keys

如果之前已经配置过其中一个,现在只需新配置另一个即可。

ssh-keygen -t rsa -f ~/.ssh/id_rsa[.别名] -C “邮箱地址“

示例:
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C “bbb@126.com“

如果都没配置过,再创建执行另一个,别名和邮箱:

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gerrit -C “aaa@company.com“

这样如果进入 .ssh 目录会看到有两套配置文件id_rsa.githubid_rsa.github.pubid_rsa.gerritid_rsa.gerrit.pub

配置config

配置完ssh keys之后需要绑定一下对应关系,这个操作是在~/.ssh/config 目录下进行的。
如果是第一次配置本地应该没有这个文件,可以如下创建。

cd .ssh
touch config

之后进行编辑即可,可以直接操作文本或者vim config进行编辑,
示例:

# gerrit
Host gerrit.company.com
HostName gerrit.company.com
Port 25638
User aaa
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.gerrit

# GitHub
Host github.com
HostName github.com
User bbb
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

一般ssh config 只配置上面简单的几项即可。
如果想详细了解还有哪些参数参考详细config参数
可以做更多事情,比如ssh 在客户端如何强制使用密码验证方式登陆?

之后将配置好的SSH key 添加到github 及公司的gerrit 即可。
在这个过程中你可能会使用到这些命令

显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

终端查看ssk pub 
cat ~/.ssh/id_rsa.pub
将ssh key拷贝到剪切板: 
pbcopy < ~/.ssh/id_rsa.pub
验证

最后验证一下是否配置好了:

验证github  
ssh -T git@github.com
localhost:.ssh whqfor$ ssh -T git@github.com
Enter passphrase for key '/Users/aaa/.ssh/id_rsa.github': 
Hi aaa! You've successfully authenticated, but GitHub does not provide shell access.

这就说明验证通过了

验证github  
ssh -T gerrit.company.com
localhost:.ssh whqfor$ ssh -T gerrit.bbb.com
Enter passphrase for key '/Users/whqfor/.ssh/id_rsa.gerrit': 
 **** Welcome to Gerrit Code Review ****
 Hi bbb, you have successfully connected over SSH.
 Unfortunately, interactive shells are disabled.
 To clone a hosted Git repository, use:
 git clone ssh://bbb.company.com:25638/REPOSITORY_NAME.git

可以看下两个 验证方式有点小差别:ssh -T git@github.comssh -T gerrit.compant.com,没有找到说明,如果你知道,还请指导我,谢谢。

可能还会遇到问题

多SSH.png

我第一次配置多SSH的时候的确遇到这个问题,
解决方式好像是需要再配置一下邮箱,记不太清了,这个没有场景再次尝试没有复现,有遇到的话欢迎找我交流。

而配置邮箱你可能会需要

配置用户名
git config --global user.name "XXX" 

配置邮箱
git config --global user.email "XXX@XX.com"

取消用户名
git config --unset --global user.name

列出已配置的config列表
git config --list

更多config配置参考git-config

参考

Multiple GitHub Accounts & SSH Config
git 用不同的邮箱配置不同的ssh
Git配置多个SSH key
Mac OS 配置多个ssh-key
git push 问题:committer 'xxx (x)' does not match your user account

相关文章

  • git 不同的邮箱配置不同的ssh

    git 不同的邮箱配置不同的ssh 背景: 1.提交代码到公司gerrit,需要使用公司邮箱aaa.@compan...

  • mac中使用Sourcetree配置自己搭建的git服务器

    一.配置公钥秘钥 1.生成新的公钥 注:邮箱是你git地址的邮箱 如果需要有多个不同的ssh Key的话,使用下面...

  • git常用命令

    初始化 git init 配置账号名和邮箱 使用ssh clone 配置ssh key 进入.ssh目录 切换目录...

  • 【Git】多个SSH配置

    1.取消git全局配置 查看配置: git config --list 2.SSH配置 2.1本地配置私钥 不同账...

  • github 配置流程

    git 分布式代码管理工具 github 配置流程 验证邮箱 主邮箱、次邮箱 添加SSH key ssh-k...

  • Github

    git 分布式代码管理工具 github 配置流程 验证邮箱 主邮箱、次邮箱 添加SSH key ssh-k...

  • GitHub账户设置多个SSH Keys

    博客原文传送门:GitHub账户设置多个SSH Keys 针对不同的git代码库配置不同的的git name, e...

  • git常用命令

    创建SSH Key$ ssh-keygen -t rsa -C "自己的邮箱地址"配置全局用户名和邮箱git co...

  • Git的使用和操作

    安装Git 配置Git用户名和邮箱 关于SSH Key 生成并使用SSH Key Git常用命令 1、代码的克隆操...

  • 一步一步来,记全Git命令和用法

    Git基本配置 Git配置使用git config分三种,存放在不同位置 首先要配置用户名和邮箱。每次git提交都...

网友评论

      本文标题:git 不同的邮箱配置不同的ssh

      本文链接:https://www.haomeiwen.com/subject/flxzgqtx.html