添加公钥后,您就可以在项目的代码页面点击 SSH 切换到 SSH 协议的 clone 地址,类似这样:(git@git.coding.net:wzw/leave-a-message.git),这样就可以使用 SSH 协议来访问 Git 仓库了,每次链接都不需要再输入账号和密码了。
git clone git@git.coding.net:wzw/leave-a-message.git
注意:一个公钥只能认证一个用户,而一个用户却可以拥有多个公钥。
本地生成公钥
sh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址,如果使用非默认地址可能需要配置 .ssh/config
成功之后
Your identification has been saved in /Users/you/.ssh/id_rsa.
# Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
在 Coding.net 添加公钥
# 直接把下面内容copy到 [项目地址]/setting/deploy_key/new 的输入框里面
vim ~/.ssh/id_rsa.pub
在本地执行
ssh -T git@git.coding.net // 注意 git.coding.net 接入到 CDN 上所以会解析多个不同的 host ip
ssh -T git@git.coding.net
- 如果您确认,输出的公钥指纹是上文描述的内容。那么可以信任这是 Coding.net 的服务器,不是第三方劫持。 您需要做如下操作 1.删除 ~/.ssh/known_hosts 中 coding.net 相关的行
- 重试 push 或者 pull 或者 ssh -T git@git.coding.net
- 遇到询问是否信任服务器公钥,输入 yes 即可
注意: 同一个公钥只能绑定一个账户,Coding 暂时不支持同一公钥绑定多个账户。
参考:
https://coding.net/help/doc/git/ssh-key.html#ssh--1