维基百科:sshgit
我的以为最直接的好处就是Git每次提交时不用输密码github
简要总结一下vim
cd ~/.ssh
生成密钥文件,这样就会生成默认名字为id_rsa
和id_rsa.pub
ssh
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"
(说明:YOUR_EMAIL@YOUREMAIL.COM
换成你本身的邮箱)ide
打开公钥文件(id_rsa.pub),并把内容复制至代码托管平台上测试
vim ~/.ssh/id_rsa.pub
进入 GitCafe -->帐户设置-->SSH 公钥管理设置项,点击添加新公钥 按钮,在 Title 文本框中输入任意字符,在 Key 文本框粘贴刚才复制的公钥字符串,按保存按钮完成操做。url
测试spa
ssh -T git@gitcafe.com
成功应该提示.net
Hi xxxxxx! You've successfully authenticated, but GitCafe does not provide shell access.
这样就能够只用ssh协议的URL了,通常默认是https协议的,如图点击SSH便可切换:
这样push代码时就不用再输密码了。
当你在Github或Gitcafe或Coding都有帐号时
假设已经有一个Gitcafe的密钥了,须要须要添加Github的
生成指定名字的密钥
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/github
命名为github(这里叫什么随意,不要重名便可),而后会生成github
和github.pub
这两个文件
修改config
文件
vim ~/.ssh/config
添加以下代码
Host github.com www.github.com IdentityFile ~/.ssh/github
测试
ssh -T git@github.com
若是是coding的
Host coding.net www.coding.net IdentityFile ~/.ssh/coding
若是有两个Github帐号:
github_a
和github_b
分别对应的是你的帐户aaaaaa和帐户bbbbbb修改config
文件
vim ~/.ssh/config
添加以下代码
Host aaaaaa.github.com HostName github.com User git IdentityFile ~/.ssh/github_a Host bbbbbb.github.com HostName github.com User git IdentityFile ~/.ssh/github_b
修改ssh URL
例如原来的url是:git@github.com:aaaaaa/xxxxxx.git
须要改为:git@aaaaaa.github.com:aaaaaa/xxxxxx.git
bbbbbb帐号的修改也是如此
最后补充一点(这部分Git熟悉的基本能够略过):有些童鞋可能在设置这个多帐号前已经配置了一个Github的ssh,而后把代码clone下来,配置多帐号后,原来的代码就提交不上了。
此时你进入 原来clone的代码文件夹下,执行 git remote -v
,便可看到远处资源库路径
如:git@github.com:aaaaaa/xxxxxx.git
执行git remote remove origin
删除该远程路径
执行git remote add origin git@aaaaaa.github.com:aaaaaa/xxxxxx.git
加上正确的远程仓库。