### 检查SSH-KEY是否已经生成过
```bash
ls -al ~/.ssh
```
### 生成新的SSH-KEY
```bash
ssh-keygen -t rsa -C "your_email@example.com"
```
### 生成成功
提示如下
```
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ba:dd:cc:eb:69:f2:eb:99:1a:9c:61:91:8d:8f:50:d0 your_email@example.com
The key's randomart image is:
+--[ RSA 2048]----+
| .o. |
| .E+ |
| . + . |
| . + |
| S . |
| + o |
| . + |
| o.=.+ |
| . oB&o |
+-----------------+
```
### 查看生成成功的KEY
```bash
cat /root/.ssh/id_rsa.pub
```
内容如下
```
ssh-rsa AAAAB3NzaC1yc2EAA11DAQABAAABAQCzPmuU6C5mewB21dVOR4087PIVwIuIUf8XQdOupKYJ5/WLJmJB9Ko2A9e65BCGaBT3jdvXnYMrjcgT1nN//Gtb+jeYieypiP/OJbMCoXVKJOOpDFDiOLV33cdGRuj5VyjfSBne5nCxvgCOxUPko5j4yFTK97ibaXtyzCJPSMA/22IX6QYdyD98pcikJqGhbSZsxhAQJZjostdRC9LwcERAnYF55ejz9336oPyoHztJemDDY4tZ2nGBn1mEMOdBnuaqLusaS4YRS7HlSz11S7ZFJuKAdNlPk3zVw6vws42sJbLVwjXlu454FmLxRO1AkmmEunAfohHBJdHf0R11KGMR your_email@example.com
```
{% note orange 'fas fa-battery-half' simple %}
要注意将最后的邮箱也要带着哈。
{% endnote %}
### 以coding仓库平台为例
#### 登录coding平台
找到下面的**个人账户设置**栏目

#### 选择SSH公钥

#### 新增公钥

#### 添加公钥信息

添加了之后需要输入账户的密码进行二次确认,double check~。
至此添加公钥完成,开始进入测试环节。
#### 首次建链
完成后在命令行测试,首次建立链接会要求信任主机。
```bash
ssh -T git@e.coding.net
```
输入命令一路yes加回车,最终输出信息如下,代表连接成功。

#### 小坑
我们要查看一下当前仓库的remote地址信息,因为ssh公钥的连接方式,只支持ssh方式拉取代码,并不支持http方式,所以要确认一下我们当初拉取代码的时候是不是用的http的方式,如果是的话,需要重新设置一下remote地址。
这里我采用的是不需要查看地址信息,直接进行重置操作。
##### 清除remote信息
````bash
git remote rm origin
````
##### 查看remote
查看一下remote信息,确保已经完全被删除了。如果没有信息输出代表没问题。
##### 设置remote地址
```bash
git remote add origin git@e.coding.net:lucfzy/lucfzy-blog-xxx/xxx.git
```
#### 大功告成
测试结果如下,无需重复输入密码,则代表没问题。
```bash
git pull origin <branch>
```

> 参考如下
[CentOS 生成SSH-KEY](https://segmentfault.com/a/1190000013450267)
[配置SSH公钥](https://help.coding.net/docs/project-settings/features/ssh.html#%E7%94%9F%E6%88%90%E5%85%AC%E9%92%A5)
centos配置SSH公钥免密登录各大仓库平台