解决SourceTree本地多ssh key的问题(Window系统)

生成多个私钥
检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建):
$ cd ~/.ssh

生成 SSH 密钥:

$ ssh-keygen -t rsa -C “[email protected]”
按3个回车,密码为空。

文件存放位置 ~/.ssh,如果是window的话就在:C:\Users\Administrator.ssh 下面,当然如果你不是 Administrator 用户的话,需要换成对应的用户。

打开SourceTree找到工具选项,多次点击添加SSH秘钥,完成添加后的效果如图:

解决SourceTree本地多ssh key的问题(Window系统)_第1张图片

找到.ssh文件夹,前面的用户名根据每台电脑都不一样,默认是没有config文件夹的,需要手动创建一个(创建一个自定义Txt文件,删掉后缀名就可以)。

解决SourceTree本地多ssh key的问题(Window系统)_第2张图片

使用文本编辑器打开新创建的配置文件,编辑配置信息如下:
    # 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远程仓库路径

解决SourceTree本地多ssh key的问题(Window系统)_第3张图片
这里拉取的是码云上的项目,框起来的地方默认是gitee.com,根据上面的描述我们修改成配置文件中的gitee.com02,这样在拉取项目的时候会自动使用配置文件中定义的私钥,大功告成!

了解高级配置信息

解决SourceTree本地多ssh key的问题(Window系统)_第4张图片
如果不是用全局配置可以在上图所示位置修改单个项目的用户信息,以码云为例,如果全名与电子邮件地址能够对应码云上的用户注册信息,提交项目到码云后,点击提交用户可以直接链接到用户账户,效果如下图蓝框,如果两者没有对应关系,效果如下图红框,只会显示用户名,点击自动跳转到邮件系统。
解决SourceTree本地多ssh key的问题(Window系统)_第5张图片

你可能感兴趣的:(Git)