SSH 主机密钥轮换

Muk*_*rya 15 bitbucket bitbucket-api

打开 bitbucket 时,我在 Snackbar 上收到一条消息,上面写着“SSH 主机密钥轮换”,它的真正含义是什么?我需要做点什么吗?

\n

SSH 主机密钥轮换

\n

重要通知:Bitbucket Cloud\xe2\x80\x99s RSA SSH 主机密钥将于 2023 年 6 月 20 日 1700 UTC 轮换

\n

Vit*_*cas 9

/ ------------------------------------------------- -------------- /

美国东部标准时间 2023 年 6 月 23 日星期五上午 09:39 更新

注意:

如果您正在使用我的解决方案,并且终端输出

使用“git pull && git push”与远程存储库 Bitbucket:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:46OSHA1Rmj8E8ERTC6xkNcmGOw9oFxYr0WF6zWW8l1E.
Please contact your system administrator.
Add correct host key in /Users/yq/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/yq/.ssh/known_hosts:4
Host key for bitbucket.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

您需要手动删除旧的 Bitbucket SSH 主机密钥,只需使用

vi /Users/your_laptop_user_name/.ssh/known_hosts或者vi ~/.ssh/known_hosts,手动删除旧的 Bitbucket SSH 主机

关键只是喜欢:

bitbucket.com,18.205.93.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
Run Code Online (Sandbox Code Playgroud)

并使用“git pull && git push”与远程存储库 Bitbucket,

当你看到下面的内容时:

The authenticity of host 'bitbucket.com (18.205.93.5)' can't be established.
ED25519 key fingerprint is   SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:30: bitbucket.org
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Run Code Online (Sandbox Code Playgroud)

yes只需在终端中输入即可。

请参阅:ssh 远程主机标识已更改(堆栈溢出)

警告:远程主机标识已更改主机密钥(中文博客)

know_hosts文件的问题(中文博客)

ssh 连接远程存储库时 Know_hosts 写入的内容(中文博客)

输出错误已修复!

/ ------------------------------------------------- -------------- /

您只需通过以下命令将本地笔记本电脑上的旧 Bitbucket SSH 主机密钥替换~/.sshNewBitbucket SSH 主机密钥:

ssh-keygen -R bitbucket.org && curl https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts

注意:您不需要为Bitbucket生成非RSA类型的SSH密钥对,因为Bitbucket仍然支持RSA类型的SSH密钥对进行身份验证。您只需在本地计算机上更新 Bitbucket 的 SSH 主机密钥即可。

另外,Bitbucket SSH 主机密钥是一个加密密钥,用于验证您通过 SSH 协议对远程存储库的访问。当您首次通过 SSH 访问 Bitbucket 存储库时,Bitbucket SSH 服务器将向您提供其 SSH 主机密钥。您需要验证 SSH 主机密钥是否与 Bitbucket 发布的正确 SSH 主机密钥匹配。如果匹配成功,您的 SSH 客户端将接受 Bitbucket SSH 主机密钥并将其添加到本地计算机上的known_hosts 文件中。

此后,每当您通过 SSH 访问 Bitbucket 存储库时,您的 SSH 客户端都会检查该存储库的 SSH 主机密钥是否与本地计算机上的known_hosts 文件中的 SSH 主机密钥匹配。这可以防止 DNS 欺骗和中间人攻击等安全问题,并确保您的 SSH 连接有效且安全。

请参阅:您需要做什么 -> 需要采取的行动:更新您的 Bitbucket 云 SSH 主机密钥(Bitbucket Org.)

如果你不知道问题出在哪里,那就意味着你没有道理SSH protocol


Kam*_*tti 6

Bitbucket 使用 ECDSA 和 Ed25519 算法添加了两个新的主机密钥,它们将用新的主机密钥替换当前的 RSA 主机密钥,因此您需要切换到使用较新的 ECDSA 或 Ed25519 主机密钥。

以下是切换较新主机密钥的步骤。

  1. 确定您的客户是否受到影响

验证 SSH 客户端使用的主机密钥,打开终端并运行以下命令:

ssh git@bitbucket.org host_key_info

输出

您正在使用带指纹的主机密钥:

ssh-ed25519 SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM

如果您在输出中看到新的 ECDSA 或 Ed25519 主机密钥指纹,则意味着您的 SSH 客户端已自动切换到新的主机密钥,并且该客户端无需采取进一步操作(跳过第 2 点)。

  1. 配置您的客户端以信任新的主机密钥

如果 OpenSSH(或兼容)客户端的输出中没有出现新指纹,您可以在文件中配置新的受信任主机密钥known_hosts,打开终端并运行以下命令:

ssh-keygen -R bitbucket.org && curl https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts

  1. 确认密钥添加成功

重新运行步骤 1 中的命令以确认您的客户端现在信任新的主机密钥。

参考