Git ssh-key 配置问题
Git 配置 ssh-key 是为了识别并区分不同的主机,所以一台主机要使用 Git 进行远程仓库托管代码,首先要在本机生成 ssh-key,并配置到对应远程仓库网站(比如:Github、Gitee)。
1. 生成 ssh-key
在 git 终端输入:
ssh-keygen -t rsa -C "your email"
然后git终端会询问保存路径(建议直接 enter,按默认路径保存;否则可能会出现 Permission denied 问题,此解决办法见下文)
以及密码设置(可设可不设)
2. 配置远程仓库网站
在 Github 或 Gitee 上找到添加 ssh 公匙选项,到刚才保存的 ssh-key 的路径下找到对应的 .pub 文件(此为公匙可外传,另一个为私匙不可外传),打开后将内容粘贴到 Github 或 Gitee 网站添加 ssh 公匙栏中。
3. 测试连接远程仓库网站
在 git 终端输入:
ssh -T //github网站 ssh -T //gitee 网站
如果是按默认路径保存 ssh-key,则 git 终端应该会返回以下内容:
Hi *** ! You‘ve successfully authenticated ***
此时说明成功连接远程仓库,可以开始在远程仓库托管自己代码了。
如果没有按照默认路径保存 ssh-key ,则可能会报错:
Permission denied (publickey).
4. 暂时解决上述问题
在 git 终端输入以下代码:
ssh-add path //path 为你保存公匙的绝对路径
如果报错:
Could not open a connect to your authentication agent
说明 ssh-agent 没有开启,输入以下代码开启:
ssh-agent bash
或者
eval $(ssh-agent -s)
但这样只能临时解决问题,重新打开 git 终端后发现又不好使了。
5. 永久解决上述问题
将代码:
eval $(ssh-agent -s) ssh-add path
写到 git 的bashrc中。具体操作为:打开 git 安装目录,进入到 etc/ 中,编辑 bash.bashrc 文件,将上述代码添加至文件末尾。以后每次打开 git 终端就会自动执行上述代码。