您的位置:

sourcetree生成密钥:从配置到选取

一、sourcetree配置密钥

1、首先打开sourcetree,点击左上角"文件"按钮,选择"选项",再选择"认证"tab页。

<img src="sourcetree1.png" alt="sourcetree1" />

2、点击"添加"按钮,可以选择添加私钥或密码进行验证。

<img src="sourcetree2.png" alt="sourcetree2" />

3、选择添加私钥,填写必要的信息后点击"确定"按钮。

<img src="sourcetree3.png" alt="sourcetree3" />

4、此时私钥已经被添加到sourcetree认证列表中,可以选择该私钥进行提交代码等操作了。

二、sourcetree添加密钥

1、打开ssh客户端,输入以下命令,生成ssh密钥。

ssh-keygen -t rsa

2、根据提示输入密钥存储路径及密码等信息,注意不要使用空密码。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa): [Press Enter]
Enter passphrase (empty for no passphrase): [Type passphrase]
Enter same passphrase again: [Type passphrase again]
Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
... username@hostname

3、打开.ssh目录,找到生成的公钥文件"id_rsa.pub",将该文件内容添加到代码托管平台的ssh key列表中。

cd ~/.ssh
cat id_rsa.pub

三、sourcetree无效密码

1、如果在使用sourcetree时,发现使用ssh密钥时仍然需要输入密码,可能是由于密钥的权限问题。需要将私钥文件和.ssh目录权限重置至正确的权限。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

2、如果还是不能正常使用ssh密钥,可以尝试重启系统或sourcetree,并重新验证ssh密钥。

四、sourcetree ssh密钥选取

1、在sourcetree的"选项"-"认证"tab页中,可以选择当前使用的ssh密钥,也可以添加新的ssh密钥或删除不需要的ssh密钥。

<img src="sourcetree4.png" alt="sourcetree4" />

2、在ssh客户端中,可以使用以下命令来指定使用哪个ssh密钥。

ssh-add /path/to/private/key

3、如果需要在多个代码仓库使用不同的ssh密钥,可以在.ssh/目录下新建config文件,并添加如下内容。

# Code repository 1
Host repo1.hostname.com
HostName repo1.hostname.com
User git
IdentityFile ~/.ssh/repo1_rsa

# Code repository 2
Host repo2.hostname.com
HostName repo2.hostname.com
User git
IdentityFile ~/.ssh/repo2_rsa