Lxn-Chan!

江泽民同志永垂不朽!

解决 Git 客户端 v2.33.1 及以上的版本或者 OpenSSH 8.8 及以上版本中可能会产生无法通过 ssh 登录 Coding 的问题。

情况描述

将本机公钥添加到 Coding 之后无法提交代码,通过ssh -T git@e.coding.net也不能正常登录,提示Permission Denied.

解决方法

主要问题是加密算法被禁用,启用对应的加密算法并重新生成密钥即可。

这里分开讲,即在删除原密钥对和不删除原密钥对的两种情况。

可以删除原密钥对的场景

删除原密钥对后,在~/.ssh文件夹下新建config文件,按照如下样例填写:

1
2
3
Host e.coding.net
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

保存退出后重新创建密钥对即可。

不能删除原密钥对的场景

首先在~/.ssh文件夹下新建config文件,按照如下样例填写:

1
2
3
Host e.coding.net
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

随后新建密钥对,注意将<Your Email>替换为你的邮箱:

1
ssh-keygen -t ed25519 -C "<Your Email>" -f ~/.ssh/id_coding

接下来到.ssh文件夹中将id_coding.pub(公钥)的内容上传至 Coding ,然后再打开上面新建的~/.ssh/config文件,添加如下HostNameUserIdentityFile的值:

1
2
3
4
5
6
Host e.coding.net
HostName e.coding.net
User "git"
IdentityFile C:/Users/ASUS/.ssh/id_coding
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

其中HostNameUser的值是固定的,IdentityFile则是指向刚才创建的Key文件的位置。

添加完成后再重新测试,问题解决。

1
2
3
4
$ ssh -T git@e.coding.net
CODING 提示: Hello 97206430, You've connected to coding.net via SSH. This is a Personal Key.
97206430,你好,你已经通过 SSH 协议认证 coding.net 服务,这是一个个人公钥.
公钥指纹:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

 简单说两句



联系站长 | 安装证书 | 友情链接

备案号:辽ICP备19013963号

萌ICP备 20219421 号

中国互联网违法和不良信息举报中心

架构版本号:8.1.0 | 本站已全面支持IPv6

本站由又拍云提供CDN加速服务和存储服务

正在载入运行数据(1/2)请稍后...
正在载入运行数据(2/2)请稍后...

Copyright 2022 LingXuanNing, All rights reserved.