1. 简介

Git 配置 ssh-key 是为了识别并区分不同的主机,所以一台主机要使用 Git 进行远程仓库托管代码,首先要在本机生成 ssh-key,并配置到对应远程仓库网站(Github、Gitee 等)。

2. 生成 ssh-key

在 Git 终端输入:

1
ssh-keygen -t rsa -C "youremail" 

然后 Git 终端会询问保存路径(建议直接 enter,按默认路径保存;否则可能会出现 Permission denied 问题,此解决办法见下文),以及密码设置(可设可不设)。

3. 配置远程仓库网站

在 Github 或 Gitee 上找到添加 ssh 公匙选项,到刚才保存的 ssh-key 的路径下找到对应的 .pub 文件(此为公匙可外传,另一个为私匙不可外传),打开后将内容粘贴到 Github 或 Gitee 网站添加 ssh 公匙栏中。

4. 测试连接远程仓库网站

在 Git 终端输入:

1
2
ssh -T git@github.com    # github 网站 
ssh -T git@gitee.com # gitee 网站
  • 如果是按默认路径保存 ssh-key,则 Git 终端应该会返回以下内容:Hi *** ! You've successfully authenticated ***;此时说明成功连接远程仓库,可以开始在远程仓库托管自己代码了。

  • 如果没有按照默认路径保存 ssh-key ,则可能会报错:Permission denied (publickey).

5. 暂时解决上述问题

在 Git 终端输入以下代码:

1
ssh-add <path>   		# <path> 为你保存公匙的绝对路径 

如果报错:Could not open a connect to your authentication agent,说明 ssh-agent 没有开启。输入以下代码中的任一条进行开启:

1
2
ssh-agent bash
eval $(ssh-agent -s)

但这样只能临时解决问题,重新打开 Git 终端后发现又不好使了。

6. 永久解决上述问题

将以下代码写到 Git 的启动配置文件末尾,默认路径为 C:\Program Files\Git\etc\bash.bashrc。以后每次打开 Git 终端就会自动执行以下代码找到对应的 .pub 公钥文件:

1
2
eval $(ssh-agent -s) 
ssh-add path # <path> 为你保存公匙的绝对路径