sourceTree使用多个ssh密钥拉取aliyun代码
前提:aliyun的git代码由于涉及多个公司账号,所以原先自己机器的私钥只能在一个账号上使用,在不断的拉取代码的时候,需要不断的删除添加ssh公钥,很麻烦
解决方案:
1、使用git bash here在本地生成多个密钥,一个aliyun账号对应一个密钥;
生成ed25519 ssh密钥:
ssh-keygen -t ed25519 -C "<描述>" -f ~/.ssh/id_ed25519_private_key1
id_ed25519_private_key1:文件命名
2、把生成的不同的密钥写到~/.ssh/config配置表中,方便后面拉取git的时候指定不同的ssh密钥
host aliyun_** //host别名,拉取代码时用的就是这个名称
user zhan**** //用户名称,自定义,不影响
hostname codeup.aliyun.com
identityfile ~/.ssh/id_ed25519 //自己生成的ssh密钥
host aliyun_l**
user zhan****
hostname codeup.aliyun.com
identityfile ~/.ssh/id_ed25519_private_key1
3、将不同的ssh(例如:id_ed25519_private_key1.pub)公钥写入到阿里云中的个人设置中;
4、sourcetree拉取远程git代码,修改git的ssh拉取url,其他的正常操作就好了
原始ssh拉取url: git@codeup.aliyun.com:611f4823a/python/scraperApi.git
修改之后的ssh拉取url: git@host别名:611f4823a/python/scraperApi.git