首页 云效2020 代码管理 常见问题 认证鉴权问题 如何在同一台电脑上配置多个SSH Key?

如何在同一台电脑上配置多个SSH Key?

SSH Key 是克隆代码的授权标识,全平台唯一,代表的是一个账号。每个云效账号配置的 SSH key 需要不同,才能标识到人,对应人员操作的权限和审计。在一些场景下,如果需要在同一台电脑上同时管理多个云效账号,如何配置 SSH key 呢?

设置 SSH key

1.生成两个不同的SSH Key

ssh-keygen -t rsa -C "<您的邮箱>"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):<为了区分多个key,请填写自定义的名称>
说明

为了区分多个 SSH key,以上第3行请不要直接回车,请填写自定义的 key 路径名称以方便后续使用,如 ~/.ssh/codeup_1,~/.ssh/codeup_2,然后点击回车确认。

2.添加 SSH 密钥

登录云效账号A,点击 Codeup 页面右上角头像 - 个人设置 -「SSH 密钥」展现 SSH 密钥设置弹窗。将 1 中*.pub的公钥粘贴到输入框中保存。

切换至云效账号B,将 1 中生成的另一个公钥同样配置到账号下。

3.编辑~/.ssh/config文件

# 账号A
Host codeup_1
HostName codeup.aliyun.com
IdentityFile ~/.ssh/codeup_1
PreferredAuthentications publickey
IdentityAgent none
IdentitiesOnly yes

# 账号B
Host codeup_2
HostName codeup.aliyun.com
IdentityFile ~/.ssh/codeup_2
PreferredAuthentications publickey
IdentityAgent none
IdentitiesOnly yes

  • HostName:填写托管平台服务地址;

  • Host:填写别名,方便命令行使用;

  • IdentityFile:填写证书位置;

4.命令行操作

在日常推拉代码工作时,获取代码库的 ssh 克隆地址后,因为本地有多个账号,可以手动选择使用哪个账号操作。

以示例库举例,假设克隆地址为:git@codeup.aliyun.com:me/Codeup-Demo.git。

那么可以使用如下命令切换账号:

git@codeup_1:me/Codeup-Demo.git

git@codeup_2:me/Codeup-Demo.git

可使用以下命令查看当前使用的密钥对应的账号:

 ssh -t git@codeup_1

正常将看到如下返回:

1

更多说明

更多 SSH 配置说明,参见ssh config 文档

阿里云首页 云效 相关技术圈