为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上的代码库了。
最新文章
- FFmpeg学习2:解码数据结构及函数总结
- java Collection.shuffle()随机打乱一个顺序数组
- 常用SQL脚本操作
- docker网络配置方法总结
- 自动备份文件到GITHUB的方法
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
- 【笔记】Python 学习Tips
- SQL入门经典(一)之简介
- struts_19_对Action中所有方法、某一个方法进行输入校验(手工编写代码实现输入校验)
- 【HDOJ】1104 Remainder
- C# 压缩打包文件下载
- 201521123009 《Java程序设计》第6周学习总结
- java Socket实例
- linux 使用sh@d0ws0cks client
- 转发 ---->; 2018年阿里巴巴重要开源项目汇总(持续更新中)
- java面向对象编程(九)--final
- Java中String和byte[]间的转换浅析
- js post 下载文件
- No input file specified.
- Java自动装箱中的缓存原理