github设置添加SSH

来源:互联网 发布:有气泡的软件 编辑:程序博客网 时间:2024/05/17 04:09

由于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=younicknameuser.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)? yEnter 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.comThe 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+6ecK4Lzrykbd33c24Mjtn7RBhZDLs6It6HBQvWifF5eVQ465zJLx4uNrsOBrpWJDvPEWedSUyT74pbgLvd5UHqGSr0ohrGywDtmiFrcmlD8OwnvJxyATHRlG5H0m1R3Xx2NrVsX9CNFyZepFLazX+5Okc6ucCovrWI72yas0Ypa0FTmS1NLLc0mEdN40/pg8DDr+kLd9RMYYzDJSKZdNPLQsfi1QMpvy3C7ND/1p37LjB5cZ9koWBTaCQAjQ== yourmail@mail.com
将该段内容直接复制到key中,注意不要复制多余的空格

添加成功后界面如下所示

为了验证是否成功,输入以下命令:

$ ssh -T git@github.comHi 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