GitHub设置无密码登录
2016-03-19 20:14
337 查看
生成密钥并添加到GitHub
GitHub项目的授权方式有两种方式:Https和SSH,使用Https方式时需要输入用户名和密码,SSH方式则不需要。若想为新的项目使用SSH方式连接,请参考搭建git开发环境 。
若想为已有的项目切换到使用SSH方式连接,请参考github无密码登录设置。
注意点
新生成自己的密钥–rsa_test并添加到GitHub后,此时执行ssh -T git@github.com,往往会出现以下错误:
Error: Permission denied (publickey)
这是因为ssh-agent服务并没有启动,并且没有将生成的私有密钥添加到ssh-agent的缓存中,参见Error: Permission denied (publickey)–官网解释。执行以下命令解决:
# start the ssh-agent in the background eval "$(ssh-agent -s)" # add your key to ssh ssh-add path/to/key
但上述办法在下次开机后就失效了,此时有以下解决方案:
将上述命令写成开机自启的脚本
参见ssh-agent自启动加key脚本
使用Keychain
参见是否必须每次添加ssh-add的回答
ssh-config
参见使用ssh和ssh-agent实现“无密码”登录远程机器 。在 SSH 用户配置文件 ~/.ssh/config 中指定证书名称,如果没有 config 文件的话就新建一个 (Linux 平台的话需使用该命令 chmod 644 ~/.ssh/config 来改变 config 文件权限),并输入以下内容:
Host github.com HostName github.com IdentityFile ~/.ssh/github_rsa
从上述方案来看,以方案3最为简单,推荐使用该方案。
拓展阅读
多个github帐号的SSH key切换相关文章推荐
- 商业书籍精华摘要《专注》丹尼尔·戈尔曼 Focus by Daniel·Goleman
- c语言:将数组中n个整数按相反顺序存放。
- php第三方登录 Oauth2.0协议
- Jenkins进阶系列之——05FTP publisher plugin插件
- 命令行调试Django的Template功能时碰到的问题及解决方案
- Delphi VMT的前世今生(研究一下D7的VMT表结构)
- Jenkins进阶系列之——04Publish Over FTP Plugin插件
- 六大排序算法C++实现
- QtCreator-----设置快捷键
- c++第2次上机-1
- 从零开始创建一个简单的springMVC工程(包含一些异常的解决方法)
- github客户端怎样上传代码 mac
- git 学习笔记
- 杭电2008
- Java中的异常
- JavaWeb开发之十二:JSP九大内置对象
- c++中的左移、右移运算
- 搭建spring开发环境
- C++实现单链表
- 【JAVA】43、编写一个简易录入系统