原因
原因可能为:升级系统后,Ventura系统附带OpenSSH_9.0p1禁用了基于SHA-1哈希算法的 RSA 签名。
https://www.droidwin.com/ssh-not-working-in-macos-ventura-fix/
用户可以终端查看当前openssh版本,该问题常见于>8.8版本时。
ssh -V
解决方法:
1、在生成公钥的~/.ssh文件夹下,
vim config
2、注意:config文件没有后缀,文件末尾中添加如下内容:
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
有些用户修改~/.ssh配置文件不生效的情况,可能是配置了Host的配置。可以尝试添加上述配置到系统/etc/ssh/ssh_config文件解决。
更推荐的秘钥加密形式
以上是rsa算法密钥的情况下的解决办法,现在更推荐ED25519算法来生成密钥。因为rsa有缺陷
1.查看已存在的SSH密钥
在生成新的 SSH 密钥前,请先确认是否需要使用本地已生成的SSH密钥,SSH 密钥对一般存放在本地用户的根目录下。
在你的计算机命令行中执行以下语句,判断是否已经存在本地公钥。如果返回一长串以 ssh-ed25519 或 ssh-rsa 开头的字符串, 说明已存在本地公钥,你可以跳过「生成 SSH 密钥」步骤。
算法类型 | 公钥 | 私钥 | 命令 |
---|---|---|---|
ED25519(推荐) | id_ed25519.pub | id_ed25519 | ssh-keygen -t ed25519 |
RSA | id_rsa.pub | id_rsa | ssh-keygen -t rsa |
ECDSA | id_ecdsa.pub | id_ecdsa | ssh-keygen -t ecdsa |
Linux、Mac 可以直接使用以下命令查看已生成的公钥,Windows 用户在 WSL(需要 windows10 或以上)或 Git Bash下使用以下命令查看已生成公钥:
ED25519 算法
cat ~/.ssh/id_ed25519.pub
RSA 算法
cat ~/.ssh/id_rsa.pub
ECDSA 算法
cat ~/.ssh/id_ecdsa.pub
2.生成 SSH 密钥 (以ED25519算法为例)
如果本地没有已存在的SSH密钥,或需要生成新的 SSH 密钥,请按如下步骤操作:
1、打开终端( windows 请使用 WSL或 Git Bash);
2、运行ssh-keygen -t,然后输入密钥算法类型和可选的注释。这个注释会出现在.pub文件中(与认证无关),一般可使用邮箱作为注释内容。文章来源:https://www.toymoban.com/news/detail-535273.html
# 如果不想添加注释的话,输入下面的命令,一路回车即可。
ssh-keygen -t ed25519
密钥默认生成路径:/home/user/.ssh/id_ed25519
,公钥与之对应为:/home/user/.ssh/id_ed25519.pub
。文章来源地址https://www.toymoban.com/news/detail-535273.html
3.设置config
$ vim ~/.ssh/config
# 写入如下的内容,以下三种类型选一个即可,不允许全部存在。
# 「+」后面的算法类型,可以看一下生成的id_rsa.pub|id_ed25519.pub|id_ecdsa.pub中的前缀
# *************************(重要)*************************
# 注:Host * 只是为了便捷操作,如本地有jumper等配置,建议指定具体的域名,例如Host git.sankuai.com | Host git.dianpingoa.com 依据你的ssh链接来配置即可。
# rsa
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
# ed25519
Host *
HostkeyAlgorithms +ssh-ed25519
PubkeyAcceptedKeyTypes +ssh-ed25519
# ecdsa
Host *
HostkeyAlgorithms +ecdsa-sha2-nistp256
PubkeyAcceptedKeyTypes +ecdsa-sha2-nistp256
$ rm -rf ~/.ssh/known_hosts
$ git fetch origin
# 根据提示输入yes
到了这里,关于Mac升级Ventura 13.X后无法执行Git操作,显示无法连接到到仓库。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!