摘要:但是还有另外一种更加优雅的方式。在项目下进行如下设置,取消全局设置,当然也可以保留一个全局的设置,以后不需要使用全局设置再重新设置。取消全局设置或者或者直接编辑修改也行
由于linux下面一个用户只拥有一个自己的公钥和私钥,所以无法同时在两个不同的GitHub账号上面设置相同的ssh key,所以最简单的办法就是新建一个用户,然后这个新建的用户生成自己的ssh key。但是还有另外一种更加优雅的方式。
解决方案$ ls ~/.ssh authorized_keys id_rsa id_rsa.pub known_hosts
1.其中id_rsa和id_rsa.pub分别是对应的私钥和公玥,因为要配置两个账号,所以我们还需要生成另外一对:
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "fsmro@163.com"
2.然后重新在~/.ssh下面新建一个config文件,添加下面的内容:
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa Host gitlab.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_2
$ ls ~/.ssh authorized_keys config id_rsa_2 id_rsa_2.pub id_rsa id_rsa.pub known_hosts
3.然后将公钥添加到GitHub账号
$ sudo apt-get install xclip $ xclip -sel clip < ~/.ssh/id_rsa_2.pub # Copies the contents of the id_rsa.pub_2 file to your clipboard
4.测试一下连接:
$ ssh -T git@github.com Hi ormsf! You"ve successfully authenticated, but GitHub does not provide shell access. $ ssh -T git@gitlab.com localhost :: ~/.ssh » ssh -T git@gitlab.com Hi fsmro! You"ve successfully authenticated, but GitHub does not provide shell access.
btw: 下面这一步好像也可以不用设置,push的时候会自动识别,不确定。
5.在项目下进行如下设置,取消全局设置,当然也可以保留一个全局的设置,以后不需要使用全局设置再重新设置。
# 取消全局设置 git config --global --unset user.name git config --global --unset user.email git config user.email “sform@163.com” git config user.name “sform” # 或者 git config user.email “ormsf@163.com” git config user.name “ormsf”
或者直接编辑~/.gitconfig修改也行
$ cat ~/.gitconfig [user] name = ormsf email = ormsf@163.com [push] default = simple [http] [http] [http] proxy = http://localhost:8118
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38386.html
阅读 1164·2021-11-11 16:54
阅读 860·2021-10-19 11:44
阅读 1319·2021-09-22 15:18
阅读 2428·2019-08-29 16:26
阅读 2927·2019-08-29 13:57
阅读 3077·2019-08-26 13:32
阅读 1068·2019-08-26 11:58
阅读 2309·2019-08-26 10:37