为 Git 和 Mercurial 设置 SSH 身份验证
* 
只有 Codebeamer 在 Linux/Unix 服务器上运行时,才支持 SSH 身份验证。
* 
如果端口重定向用于 Codebeamer,请检查 scmloop/scm-ssh 脚本中 CB_BASE_URL 的值。
生成 SSH 密钥 
仅当密钥对为对时才有效:本地操作系统用户需要访问这两个密钥对 (在 Unix/Linux 环境中:~/.ssh 目录)。如果登录到其他本地用户,则必须:
创建新的密钥对,并将公钥提供给 Codebeamer (请参阅下文中的方法) - 这是推荐的方法,因为 Codebeamer 可以对每个帐户处理多个密钥。
将密钥对文件 (私钥 + 公钥) 从先前用户的 ~/.ssh 目录移动到新用户的目录中。在这种情况下,请检查文件和目录的权限是否正确:~/.ssh 目录必须具有 rwx------ 访问权限 (八进制 700),而密钥文件 (例如,id_rsa、id_rsa.pub) 必须具有 rw 访问权限 (只有负责人可以读写,八进制 600)。如果权限不够严格,则 OpenSSH 将不允许连接到远程主机。
Codebeamer 服务器的 /etc/ssh/sshd_config 中,必须允许所有操作系统帐户或至少用于 SSH 操作的帐户,如下所示:
AllowUsers=root codebeamer
* 
AllowUsers 必须包含所有允许通过 SSH 进行登录的操作系统帐户。
现在,可以为操作系统用户生成密钥,并将其与 Codebeamer 帐户关联。
Linux 和 Mac OS X 
1. 在桌面计算机上打开终端窗口。
2. 键入以下命令:使用您自己的用户 ID 并接受默认选项。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zk/.ssh/id_rsa):
Created directory '/home/zk/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/zk/.ssh/id_rsa.
Your public key has been saved in /home/zk/.ssh/id_rsa.pub.
The key fingerprint is:
0f:a9:76:db:20:f9:cc:25:42:cc:65:7e:ce:ac:97:03 zk@zk-ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| o |
| o * |
| S . |
| EB o |
| =.B.+ |
| . B+* . |
| ..=.. |
+-----------------+
最后运行以下命令:
cat $HOME/.ssh/id_rsa.pub
并复制输出。这是您的公钥。
Windows 
* 
在 Windows 上,Git (http://msysgit.github.io/) 附带了一个名为 Git Bash 的工具。可通过“开始” > “程序” > Git访问此工具。使用此工具,可以按照与 Linux 相同的步骤生成密钥。
在 Windows 上,可以使用 PuTTYGen 生成 SSH 密钥 (下载链接位于 PuTTY 下载页面)。如果使用的是 Mercurial,也请从此页面下载 ptlink。
启动 PuTTYGen,生成密钥 (Generate 按钮) 并将私钥保存到主目录下的 文件 (Save private key 按钮),比如 'key.ppk'。复制 Public key for pasting into OpenSSH authorized_keys file 文本框的内容 (这是您的公钥)。
图:使用 PuttyGen 生成 SSH 密钥
对于 Mercurial,必须在主目录下编辑 .hgrc 文件。添加以下行 (如果该文件不存在,只需创建即可):
[ui]
ssh = C:\Program Files\PuTTY\ptlink.exe -i USERHOME\key.ppk
请知悉,ptlink 的路径在您的环境中可能有所不同。用主目录替代 USERHOME
首次通过 ssh 访问 Codebeamer 之前,请运行以下命令:
C:\Program Files\PuTTY\ptlink.exe ssh://CODEBEAMER_URL
这会将 Codebeamer 的主机密钥添加到已知主机。
将 SSH 密钥与 Codebeamer 帐户关联 
可以按照以下步骤将生成的公钥与 Codebeamer 帐户关联:
1. 返回到 Codebeamer 窗口。
2. 再次登录或只是选择“我的主页”选项卡。
3. 现在,选择“帐户信息”选项卡。
4. 选择“编辑 SSH 公钥”链接。
5. 将公钥从终端 (Linux) 或 PuTTYGen (Windows) 上传或复制并粘贴到框中,然后进行保存。
6. 保存。
设置自定义私钥 
如需使用自定义私钥 (即 .ssh/id_rsa 以外的其他密钥文件) 并将其用于 Codebeamer,而 git 克隆或身份验证失败,则可能需要设置 git 才能使用此自定义私钥。执行此操作的方法有多种;有关详情,请参阅 How to tell git which private key to use
以下视频还演示如何配置自定义 SSH 密钥:How To Configure Custom SSH Keys
这对您有帮助吗?