Hao*_*Xie 28 ssh git public-key macos macos-ventura
当我尝试在 macOS 13 (Ventura) 中使用 RSA SSH 密钥进行身份验证时,出现错误Permission denied (publickey)
。但是,当我在 macOS 12(蒙特雷)上使用相同的命令时,它可以正常工作。
小智 31
您需要基于更安全的哈希算法生成一组新的密钥。一般 推荐使用算法ed25519
。
ssh-keygen -t ed25519 -C hello@example.com
ssh-add -A
Run Code Online (Sandbox Code Playgroud)
如果您绝对无法升级 SSH(OpenSSH 6.4 中添加的支持)并且您必须使用 RSA/SHA1(例如,服务器仅接受 RSA/SHA1 并且您无法更改它),请将此代码段添加到 on 的~/.ssh/config
顶部客户端(如果不存在则创建文件夹和文件)。
Host your-old-host.example.com
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Run Code Online (Sandbox Code Playgroud)
它在主机密钥和公钥中启用 RSA/SHA1,应该可以解决此问题和相关的“未找到匹配的主机密钥类型”问题。
Hao*_*Xie 13
macOS 13 (Ventura) 附带 OpenSSH_9.0p1。根据 OpenSSH 发行说明:
此版本默认禁用使用 SHA-1 哈希算法的 RSA 签名。进行此更改是因为 SHA-1 哈希算法在密码学上已被破坏,并且可能会造成 < 5 万美元的选择前缀哈希冲突 [1]
此 Reddit 线程中描述了一种解决方法:SSH in Ventura
也许更好的解决方案是基于更安全的哈希算法生成密钥。目前,我正在切换到 ed25519,它可以这样生成:
ssh-keygen -t ed25519 -C "comment"
Run Code Online (Sandbox Code Playgroud)
小智 6
这个解决方案对我有用。
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
KexAlgorithms +diffie-hellman-group1-sha1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
46927 次 |
最近记录: |