多个git账号之间的切换 多个git账号指定不同的key
跳到导航
跳到搜索
pre
ssh可以通过-i使用指定的私钥文件, ssh -i ~/mykey_rsa username@host 但是走ssh协议的git却没有类似的参数可以指定,只能是使用用户默认的ssh私钥。 而git 一般也是用key认证的,如果你来我一样的情形 ,怎么办 ? 先假设我有两个账号,一个是github上的,一个是公司gitlab上面的。先为不同的账号生成不同的ssh-key ssh-keygen -t rsa -f ~/.ssh/id_rsa_work -C [email protected] 然后根据提示连续回车即可在~/.ssh目录下得到id_rsa_work和id_rsa_work.pub两个文件,id_rsa_work.pub文件里存放的就是我们要使用的key ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C [email protected] 然后根据提示连续回车即可在~/.ssh目录下得到id_rsa_github和id_rsa_github.pub两个文件,id_rsa_gthub.pub文件里存放的就是我们要使用的key
编辑 ~/.ssh/config,设定不同的git 服务器对应不同的key
注意 要提交到github 拉下来的时 一定要用ssh 而不是https 注意喽 不然得改一下 .git/config
在本机添加
cat ~/.ssh/config Host github.com hostname github.com User git #port 22 IdentityFile /home/evan/.ssh/id_rsa_github IdentitiesOnly yes
建一个gitlab别名,新建的帐号使用这个别名做克隆和更新
Host 192.168.11.11 HostName 192.168.11.11 User work IdentityFile ~/.ssh/id_rsa_work
打开 https://github.com/settings/ssh 把pub key (id_rsa_github.pub) 添加一下
ssh -vT [email protected]
看到 You’ve successfully 就表示OK了
ssh-keygen -t rsa -f ~/.ssh/id_rsa_evan -C [email protected]
see also
http://www.liaohuqiu.net/cn/posts/git-setup-and-setting/ 命令行下的git配置问题: 多个sshkey, 多个用户身份, git alias