生成多个私钥
检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建):
$ cd ~/.ssh
生成 SSH 密钥:
$ ssh-keygen -t rsa -C “xxx.mail@xxx.com”
按3个回车,密码为空。
文件存放位置 ~/.ssh,如果是window的话就在:C:\Users\Administrator.ssh 下面,当然如果你不是 Administrator 用户的话,需要换成对应的用户。
打开SourceTree找到工具选项,多次点击添加SSH秘钥,完成添加后的效果如图:
找到.ssh文件夹,前面的用户名根据每台电脑都不一样,默认是没有config文件夹的,需要手动创建一个(创建一个自定义Txt文件,删掉后缀名就可以)。
使用文本编辑器打开新创建的配置文件,编辑配置信息如下:
# gitlab
Host gitee.com01
HostName gitee.com
User starrygaming.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/你自己的私钥名称01
# github
Host gitee.com02
HostName gitee.com
User www.starrygaming.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/你自己的私钥名称02
上述配置文件的具体信息描述如下:
Host
它涵盖了下面一个段的配置,我们可以通过他来替代将要连接的服务器地址。
这里可以使用任意字段或通配符。
当ssh的时候如果服务器地址能匹配上这里Host指定的值,则Host下面指定的HostName将被作为最终的服务器地址使用,并且将使用该Host字段下面配置的所有自定义配置来覆盖默认的`/etc/ssh/ssh_config`配置信息。
Port
自定义的端口
User
自定义的用户名
HostName
真正连接的服务器地址
PreferredAuthentications
指定优先使用哪种方式验证,支持密码和秘钥验证方式
IdentityFile
指定本次连接使用的密钥文件
回到SourceTree修改SSH远程仓库路径
这里拉取的是码云上的项目,框起来的地方默认是gitee.com,根据上面的描述我们修改成配置文件中的gitee.com02,这样在拉取项目的时候会自动使用配置文件中定义的私钥,大功告成!
了解高级配置信息
如果不是用全局配置可以在上图所示位置修改单个项目的用户信息,以码云为例,如果全名与电子邮件地址能够对应码云上的用户注册信息,提交项目到码云后,点击提交用户可以直接链接到用户账户,效果如下图蓝框,如果两者没有对应关系,效果如下图红框,只会显示用户名,点击自动跳转到邮件系统。