生成多个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

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

相关推荐
fendouweiqian10 分钟前
nginx 反向代理使用变量的坑
运维·nginx
Zacks_xdc10 分钟前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
W-GEO12 分钟前
Nginx 高性能调优指南:从配置到原理
运维·nginx
pound1271 小时前
Linux
linux·运维·服务器
@CLoudbays_Martin111 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
盟接之桥2 小时前
盟接之桥说制造:在安全、确定与及时之间,构建品质、交期与反应速度的动态平衡
大数据·运维·安全·汽车·制造·devops
dbdr09013 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
鹧鸪云光伏与储能软件开发4 小时前
投资储能项目能赚多少钱?小程序帮你测算
运维·数据库·小程序·光伏·光伏设计软件·光伏设计
群联云防护小杜4 小时前
服务器异常磁盘写排查手册 · 已删除文件句柄篇
运维·服务器·nginx·开源·lua
云的牧人4 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu