本文为您详细介绍如何配置 SSH 公钥。
进入项目
1. 登录 CODING 控制台,单击团队域名进入 CODING 使用页面。
2. 单击团队首页左侧的项目,进入项目列表页,选择目标项目。
3. 选择左侧菜单代码仓库,进入代码仓库首页。
功能介绍
SSH 的全称为 Secure Shell 即安全外壳协议,是一种加密的网络传输协议。它能够在公开的网络环境中提供安全的数据传输环境,通常用于登录远程主机与推拉代码。
同样一个 SSH 公钥文件,如果添加至某一个代码仓库,则称为部署公钥,配置后默认拥有该项目的只读权限,支持新增读写权限;如果添加至团队设置中心,则称为团队部署公钥,仅拥有只读权限;如果添加至个人账户,称为账户 SSH 公钥,配置后拥有账户内所有代码仓库的读写权限。同一个 SSH 公钥无法既作为部署公钥,又作为个人账户 SSH 公钥。
说明:
若 SSH 公钥未用作账户 SSH 公钥,但添加为部署公钥时依然提示错误,那么有可能是此公钥已被其他人用作账户 SSH 公钥。若您的名下有多个团队,也可能是在其他团队中的个人账户设置中添加了此 SSH 公钥。
生成公钥
本文使用
ssh-keygen
工具生成 SSH 公钥,执行命令:ssh-keygen -m PEM -t ed25519 -C "your.email@example.com" // 创建新的 SSH 私钥与公钥密钥对,输入您的邮箱作为标签Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址Enter passphrase (empty for no passphrase): // 此处直接回车即可;若设置密码,则每次使用 SSH 方式推送代码时都会要求输入密码
说明:
若您需要使用多个 SSH 密钥对,在
Enter file in which to save the key
步骤时,输入一个新的文件名称就可以避免覆盖已有的密钥对。有关 SSH 更多信息可参见 百度百科。若您的系统不支持 Ed25519 算法,请使用命令
ssh-keygen -m PEM -t rsa -b 4096 -C "your.email@example.com"
。成功之后显示如下信息:
Your identification has been saved in /Users/you/.ssh/id_ed25519.# Your public key has been saved in /Users/you/.ssh/id_ed25519.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
添加公钥
您可以按需添加公钥至单个仓库或个人账户,相同的 SSH 公钥无法重复添加。
添加至部署公钥
1. 打开上文中生成的密钥对的地址(通常为
~/.ssh/
文件夹)找到后缀为 pub 的公钥文件,使用 cat 命令输出所有内容并复制。
2. 前往代码仓库的设置 > 部署公钥页面,单击添加部署公钥,粘贴复制的公钥全文,末尾邮箱将自动填充为公钥名称。
说明:
部署公钥默认拥有该项目的只读权限。如果需要获取推送权限,请勾选部署公钥设置里的授予推送权限。
3. 完成后,在本地运行首次连接时的公钥认证命令:
ssh -T git@e.coding.net
。
添加至团队部署公钥
团队部署公钥仅具备代码拉取权限,主要用于便捷地拉取不同项目下的代码仓库。团队管理员录入某个 SSH 公钥作为团队部署公钥后,可以将相对应的私钥分享给团队成员。无需开源代码仓库、无需担心个人私钥泄露,仅需通过私钥便能够拉取代码仓库。
在持续交付的场景下,提供私钥便能够让相应的构建机或主机组检出代码。无需繁杂的二次关联与验证,让构建过程更加便捷。
团队所有者 / 管理员点击首页导航左下角的设置按钮,前往团队设置中心 > 功能设置 > 代码仓库 > 团队部署公钥中录入 SSH 公钥。
录入后添加至相应的目标仓库。
添加完成后,通过私钥便能够使用 SSH 协议拉取代码仓库。添加至个人账户 SSH 公钥
1. 打开上文中生成的密钥对的地址(默认地址通常为
~/.ssh/
)找到后缀为 pub 的公钥文件,使用 cat 命令输出所有内容并复制。
2. 登录 CODING,单击右上角个人头像进入个人账户设置 > SSH 公钥页面,然后单击新建公钥。
3. 根据提示粘贴已复制的公钥内容,按需填写公钥名称。
4. 完成后,在本地运行首次连接时的公钥认证命令:
ssh -T git@e.coding.net