由于github上非常多的开源代码,故最近开始使用学习git,下面把在github上设置添加ssh的经验做个总结
很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?
这是因为,使用https url克隆对初学者来说会比较方便,复制https url 然后到 Git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。
因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
github下设置 添加ssh的具体步骤:
1.设置Git的user name和email:
$ git config --global user.name "younickname"
$ git config --global user.email "younickname@mail.com"
查看,配置是否成功:
$ git config --lis
user.name=younickname
user.mail=youmail@mail.com
2.生存ssh key
命令如下:
$ ssh -t rsa -C 'yourmail@mail.com'
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): [直接enter]
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d5:b5:9c:71:59:61:0f:a6:9b:06:a0:d1:0d:bf:e0:e7 yourmail@mail.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..oo =o*|
| o.o.. =.B.|
| . . + o + .|
| . o o o |
| S o + |
| o . |
| E |
| |
| |
+-----------------+
注意点,当出现Enter file in which to save the key (/root/.ssh/id_rsa):时建议直接enter,将其存储在默认位置,否则在连接的时候会出现找不到认证文件的错误
2.在你的git帐号下添加ssh key
登录你的git,进入 Account => Settings(账户配置)。
左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。
上图,title可以任意填,key为/root/.ssh/id_rsa.pub中的内容
$ cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0W2qXRZlXcI/wao52Lm9zQss7UR5AdWDZK0inz0YVcVfseVVRywWj6FY26Tb5CM7l0ClHCUyxkT3XLePSaNOubcJJ+6ecK4L
zrykbd33c24Mjtn7RBhZDLs6It6HBQvWifF5eVQ465zJLx4uNrsOBrpWJDvPEWedSUyT74pbgLvd5UHqGSr0ohrGywDtmiFrcmlD8OwnvJxyATHRlG5H0m1R3Xx2NrVsX9CNF
yZepFLazX+5Okc6ucCovrWI72yas0Ypa0FTmS1NLLc0mEdN40/pg8DDr+kLd9RMYYzDJSKZdNPLQsfi1QMpvy3C7ND/1p37LjB5cZ9koWBTaCQAjQ== yourmail@mail.com
将该段内容直接复制到key中,注意不要复制多余的空格
添加成功后界面如下所示
为了验证是否成功,输入以下命令:
$ ssh -T git@github.com Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.
以下命令说明我们已成功连上 Github。
可能故障:
如果出现Permission denied (publickey).的情况,可以利用命令‘ssh -v git@github.com ‘来跟踪显示ssh连接的过程,用来查看那些位置出错,常见可能出现错误:
1.ssh链接的时候未找到认证文件
2.未将认证文件进行添加至ssh,添加命令如下:
$ ssh-add /root/.ssh/id_rsa