生成多个ssh访问不同git

如果,你的git代码仓库,比如说腾讯云coding,通过ssh秘钥访问,一直用的好好的,有一天,你又增加一个aliyun云效的代码仓库,又配置了aliyun云效的秘钥并且,根据aliyun云效的官方文档上传了ssh公钥,能够正常工作了。

然后,你又返回去搞腾讯云coding做代码托管的项目,发现:
在这里插入图片描述
这种情况下,你碰到的这个问题,大概率就可以通过以下步骤解决:

检查本地秘钥

首先你需要检查一下本地秘钥,一般情况下,你如果是windows操作系统的话,秘钥文件默认是在:

C:\Users\yourusername\.ssh

你会发现你通过ssh-keygen 工具生成的公钥和秘钥文件都在:
在这里插入图片描述

当然,你在使用ssh-keygen 工具生成公钥的时候,两个平台的公钥不能相互覆盖掉,生成的时候你需要注意一下文件名,把他们区分开来。

创建config文件

如果你在使用git命令的时候报以上类似的错误的话,那么大概率你的.ssh文件夹下是没有上图所示的config文件的,所以你需要手动添加config文件,注意,config文件没有扩展名,你用记事本编辑生成一个即可。

创建之前先验证一下:

ssh -T git@codeup.aliyun.com

大概率会得到:

xxx....xxx
git@e.coding.net: Permission denied (publickey).

然后用记事本创建config文件,内容类似:

在这里插入图片描述
User后面写你的用户名就可以了。

config文件的访问权限

创建config之后,再次运行:

ssh -T git@codeup.aliyun.com

你肯能会得到如下提示:

Bad owner or permissions on C:\\Users\\zhang/.ssh/config

这是windows下的文件权限的问题,我的电脑反正就是这样,我也检查了该文件、以及文件夹.ssh的权限,看上去一切正常,我的用户也是owner,对文件夹和config文件有完全控制权限,但是,就是不行,我也不知道为啥,说实话,windows虽然是图形界面,但是在文件权限这块我还真是没搞懂,不如linux的字符界面那么清晰明了。

所以我就把所有的权限通通删掉,系统提示你有继承的权限不让删除的话,你就把继承权限修改掉,不继承。所有权限都删掉之后再把你当前用户重新加为owner、之后再授权完全访问。折腾一回之后,就好了:

C:\Users\zhang>ssh -T git@codeup.aliyun.com
Welcome to Codeup, aliyun3709444756!

C:\Users\zhang>ssh -T git@e.coding.net
CODING 提示: Hello lKSRbQdhrP, You've connected to coding.net via SSH. This is a Personal Key.
lKSRbQdhrP,你好,你已经通过 SSH 协议认证 coding.net 服务,这是一个个人公钥.
公钥指纹:e3:da:a9:bb:a3:97:f0:75:92:b0:2c:6b:98:00:82:a8

两个都好了,可以正常使用了

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在使用git时,有时候我们需要配置多个ssh,比如公司的sshgithub的ssh。重新生成ssh-key会导致原来的github上的ssh失效,所以我们需要设置多个ssh。首先,我们可以使用ssh-keygen命令生成不同ssh-key。比如,我们可以生成一个公司用的SSH-Key和一个github用的SSH-Key生成公司用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa,生成github用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa。接下来,在~/.ssh目录下新建一个config文件,并添加相应的配置信息。比如,我们可以添加以下内容到config文件中: # gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_id_rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id_rsa 这样,我们就可以在使用git时,根据需要选择不同ssh进行操作了。 #### 引用[.reference_title] - *1* [git配置多个ssh](https://blog.csdn.net/RQ997832/article/details/124638707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [git创建多个SSH-Key](https://blog.csdn.net/qq_29235677/article/details/122616611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Git配置多个SSH-Key](https://blog.csdn.net/lzqxz_/article/details/127365660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值