gitlab 页面添加 sshkey后,git clone git@xxx.com:xx.git 任然提示需要输入密码的问题解决。解决debug1: send_pubkey_test: no mutu...

本文介绍了解决SSH密钥认证失败的问题,特别是在某些特定的Git服务器或操作系统中遇到的难题。通过添加特定配置到~/.ssh/config文件,解决了认证过程中需要输入密码的问题。

网上一般搜不到解决方案,千篇一律说的是 ssh-keygen -t rsa -C "xx@xx.com" ,然后把id_rsa.pub的内容复制,在网页上的setting里面粘贴添加到ssh keys里面,

但对有的git服务器或者你的电脑操作系统,有时候光这么做却任然不行,提示需要输入密码git@xx.com's password:

关键是git这个账号的密码并不是用户个人的账号,所以无法输入密码了。

此时需要使用命令排除问题,命令行输入 ssh -Tv git@xx.com,  一定要带v才能显示debug信息,

你会看到这条信息 debug1: send_pubkey_test: no mutual signature algorithm

就是修改或新建"~/.ssh/config"文件,添加如下配置,实测有用:

gitee.com 只是举个例子,实际是你们公司gitlab的域名,就是取git clone git@xx.com 中的xx.com

这两行写在config文件中

Host gitee.com  

PubkeyAcceptedKeyTypes=+ssh-rsa

例如我的电脑.ssh文件夹截图,C:\Users\ydf19\.ssh文件夹中自己新建config文件,写上上面内容就可以啦

真的太坑了,如果不会排查问题的人会一筹莫展,因为网上99.99%的教程是只教你这么做:

ssh-keygen -t rsa -C "xx@xx.com",然后把id_rsa.pub贴到网页上,这样做后有时候任然不行,你会一直怀疑自己复制错了,导致一直用错误的方式排查问题。
例如我把id_rsa.pub添加到github可以,但是公司的gitlab一直不行,说民光这么做不一定够,要增加 config文件
 希望对有的人有帮助。
我电脑是新换了个win11,网上教程一般只做这两步,ssh-keygen -t rsa -C "yangdf@akulaku.com" ,然后把id_rsa.pub贴到ssh keys页面里面。对github两步就可以了,但是我们的gitlab可能需要做第三步增加config文件。第三步增加config文件是对有的电脑系统而言,我的上个电脑不需要这么做。昨天换了个新win11系统电脑。

参考文章: 
 https://blog.csdn.net/lindorx/article/details/111885764
https://www.cnblogs.com/ice-image/p/15420411.html
<think> 我们正在处理一个bash错误:`-bash: git@gitlab.com:brucefan1983/nep-data.git: No such file or directory` 这个错误通常发生在用户试图将字符串`git@gitlab.com:brucefan1983/nep-data.git`作为命令执行时,但系统找不到该命令对应的文件。 常见场景是用户本想输入`git clone`命令,但忘记了`clone`关键字,直接输入了远程仓库地址。 观察错误信息:`-bash: git@gitlab.com:brucefan1983/nep-data.git: No such file or directory` 这表示用户可能输入了类似于: $ git@gitlab.com:brucefan1983/nep-data.git 而正确的克隆命令应该是: $ git clone git@gitlab.com:brucefan1983/nep-data.git 因此,解决方法就是使用正确的`git clone`命令。 但是,用户之前提到了两个引用,引用[1]是关于push失败的,引用[2]是检查工具版本的。这些引用似乎与当前问题关系不大,因此我们主要关注当前问题。 另外,注意用户错误信息中的仓库地址是`git@gitlab.com`,而引用[1]中是`gitee.com`,说明是不同的平台。 解决方案: 1. 使用正确的git clone命令: git clone git@gitlab.com:brucefan1983/nep-data.git 2. 如果用户确实想要克隆仓库,那么执行上述命令即可。 3. 如果用户本意不是克隆,而是其他操作(比如已经克隆了,后想操作远程仓库),那么需要提供更多上下文。但根据错误信息,最可能的原因是缺少`clone`命令。 因此,我们建议用户使用正确的克隆命令。 注意:我们也可以考虑用户是否在配置远程仓库时出现了问题,但错误信息明确提示No such file or directory”,并且前面有`-bash:`,这通常是命令输入错误,即把参数当命令了。 所以,我们将重点放在纠正命令上。 </think> ### 解决 `-bash: git@gitlab.com:brucefan1983/nep-data.git: No such file or directory` 错误 这个错误表示您直接将 Git 远程地址作为命令执行了,而不是将其作为 `git` 命令的参数。以下是解决步骤: #### 原因分析 错误命令形式: ```bash $ git@gitlab.com:brucefan1983/nep-data.git ``` 正确应为: ```bash $ git clone git@gitlab.com:brucefan1983/nep-data.git ``` #### 解决方法 1. **使用正确的克隆命令** 执行完整克隆指令: ```bash git clone git@gitlab.com:brucefan1983/nep-data.git ``` 2. **检查仓库权限** - 确保您对该仓库有访问权限 - 确认 SSH 密钥已添加GitLab 账户 ```bash cat ~/.ssh/id_rsa.pub # 查看公钥内容 ``` 将输出内容添加GitLabSSH Keys 设置中[^1] 3. **验证网络连接** ```bash ssh -T git@gitlab.com # 测试 GitLab SSH 连接 ``` 应返回:`Welcome to GitLab, @username!` 4. **检查仓库地址有效性** - 确认仓库路径 `brucefan1983/nep-data.git` 存在 - 注意区分大小写(GitLab 仓库名区分大小写) #### 补充说明 如果您已克隆仓库但遇到远程操作问题: ```bash git remote -v # 查看当前远程仓库配置 git remote set-url origin git@gitlab.com:brucefan1983/nep-data.git # 修正远程地址 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值