为Github 托管项目的访问添加SSH keys
为了便于访问远程仓库,各个协作者将自己的本地的项目内容推送到远程仓库中,使用
SSH keys 验证github的好处:不用每次提交代码时都输入用户名和密码。
如果SSH key没有添加到github帐号设置中,系统会报下面的错误:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
这时需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。
创建SSH key的方法如下:
桌面——右键单击——Git Bash Here,执行下面命令:
ssh-keygen

接着系统会提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在“~/.ssh/id_rsa.pub”中,

然后用编辑工具(notepad++)打开这个id_rsa.pub 文件,拷贝这个id_rsa.pub文件的所有内容。

将它黏贴到github帐号管理中的添加SSH key界面中。
打开github帐号管理中的添加SSH key界面的步骤如下:
1. 登录github
2. 点击右上方头像,点击下拉的 settings属性
3. 选择 SSH key
4. 点击 Add SSH key / New SSH key
在出现的界面中填写SSH key的名称,可任意填一个你自己喜欢的名称即可,然后将上面拷贝的“~/.ssh/id_rsa.pub”文件内容粘帖到key一栏,在点击“add key”按钮就可以了。
添加过程github会提示你输入一次你的github密码(就是登陆密码啦)
如下所示:

接着打开git ,测试连接是否成功
$ ssh -T git@github.com
如果提示:Hi XXXX ! You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了。(有时候反应比较慢,耐心等一下下。)

有时候会提示错误,如下所示:输入“yes”即可。

有时候,设置完ssh keys 后Push时还需要输入用户名和密码,原因是:
因为你用的是https而不是ssh。
你可以更新一下origin:
git remote remove origin
git remote add origin git@github.com:Username/Your_Repo_Name.git
之后你还需要重新设置track branch,比如:
git branch --set-upstream-to=origin/master master
对于HTTPS方式,你可以在~/.netrc文件里设定用户名密码,不过这样的风险在于密码是明文存放在这个文件里的,比较容易泄露
machine github.com
login Username
password Password

添加完成后再次执行git clone就可以成功克隆github上的代码库了。
为Github 托管项目的访问添加SSH keys的更多相关文章
- Android Studio利用GitHub托管项目
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- 为github帐号添加SSH keys
为github帐号添加SSH keys 2012-05-26 00:05 34279人阅读 评论(6) 收藏 举报 ssh文本编辑gitvim工具up 使用git clone命令从github上同步g ...
- 为github帐号添加SSH keys(Linux和Windows)
文章转自:https://blog.cofface.com/archives/406.html/2 一.Linux增加ssh keys方法: 使用git clone命令从github上同步github ...
- window下git,TortoiseGit安装,以及和github托管项目
下载地址:http://msysgit.github.io/,安装时最好是先装git,再安装TortoiseGit. 一.git安装 1.第一步 2.第二步 3.第三步 4.第四步 5.第五步 6.第 ...
- 添加SSH keys到github帐号
使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的esesgrid项目:git@github.com:hmilycc/esesgrid.git),而 ...
- 为GitLab帐号添加SSH keys并连接GitLab
https://blog.csdn.net/xyzchenxiaolin/article/details/51852333 为github帐号添加SSH keys使用git clone命令从GitLa ...
- 使用 Git 和 GitHub 托管项目源码
这段时间想研究下,GitHub 的使用,但是桌面版下载速度贼慢(貌似需要FQ) 好在 廖雪峰 老师有一个 Git 的教程,也可以和 GitHub 配合使用 廖雪峰老师的Git教程:http://www ...
- GitHub 添加 SSH keys
首先在本地创建 SSH Keys $ ssh-keygen -t rsa -C "18817801185@163.com" 后面的邮箱即为 github 注册邮箱,之后会要求确认路 ...
- GitHub托管项目
1.进入Repositories->点击 new repositories; 2.输入Repository name 直接创建项目: 3.记录你的项目地址,如:https://github.co ...
随机推荐
- 一文学会最常见的10种NLP处理技术
一文学会最常见的10种NLP处理技术(附资源&代码) 技术小能手 2017-11-21 11:08:29 浏览2562 评论0 算法 HTTPS 序列 自然语言处理 神经网络 摘要: 自然 ...
- C++迭代器失效的几种情况总结
一.序列式容器(数组式容器) 对于序列式容器(如vector,deque),序列式容器就是数组式容器,删除当前的iterator会使后面所有元素的iterator都失效.这是因为vetor,deque ...
- Divide Two Integers leetcode java
题目: Divide two integers without using multiplication, division and mod operator. 题解: 这道题我自己没想出来...乘除 ...
- Shape of HDU_hdu_2108(几何).java
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- angular6 NgModule中定义模块module
用这个@NgModule()这个decorator ,放在一个class的上面,这个class一个一个module了 @NgModule() 里面的参数是一个对象,用来配置的,声明这个module里面 ...
- 使用Python脚本批量裁切栅格
对栅格的裁切,我们通常使用裁切(数据管理-栅格-栅格处理)或按掩膜提取(空间分析-提取分析)来裁切,裁切的矢量要素通常是一个要素图层或Shape文件.如果要进行批量处理,可以使用ToolBox中的批量 ...
- 【转载】oracle更新语法
oracle更新语法:1.一般语法 update tab set col = .... [where ...] =后可以有子查询,但是必须对于tab的每一列返回唯一一行与之对应,where是需 ...
- LoadRunner 测试 Mysql
准备文件 1. 下载 MySQL LoadRunner libraries. 下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunn ...
- 如何:在 DHTML 代码和客户端应用程序代码之间实现双向通信
https://msdn.microsoft.com/zh-cn/library/a0746166 可以使用 WebBrowser 控件向 Windows 窗体客户端应用程序添加现有的动态 HTML ...
- RESTful到底是什么玩意??
0. REST不是"rest"这个单词,而是几个单词缩写.: 1. REST描述的是在网络中client和server的一种交互形式:REST本身不实用,实用的是如何设计 RE ...