您的位置:首页 > 编程语言

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切换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: