如何在 Visual Studio Code Remote - SSH 扩展中确认新的远程主机密钥?

TCo*_*per 21 ssh visual-studio-code

确切的错误是“无法建立与“[server_name]”的连接:远程主机密钥已更改,端口转发已禁用。”

我最近通过从备份启动新实例来“回滚”生产环境的更新。正如预期的那样,这给了我一个新的服务器主机密钥。我使用过的所有其他 SSH 连接工具(WinSCP、FileZilla、Text Wrangler、Putty、Terminal、DBeaver 等)都有更改通知,让您自己确认密钥并验证它是否有效(或无效)。

我在 VS Code 远程开发工具中找不到该选项。它提示只需关闭或重试(显然是相同的错误)。“更多操作”选项只提供配置文件选项、我认为不允许我更新主机密钥的设置以及据我所知没有解释如何更新主机密钥的文档。主机密钥。

我想我在某个地方遗漏了一些简单的东西...任何帮助都会受到赞赏。

TCo*_*per 34

这很简单。在尝试审查问题时发现。

“还必须安装受支持的 OpenSSH 兼容 SSH 客户端。” 如文档的系统要求中所列(有问题的链接)。只需在所述 OpenSSH 客户端中更新密钥,然后再次尝试在 Visual Studio 中进行连接即可。

在这种情况下,很简单,只需转到 [local_path]/.ssh/known_hosts 并删除 IP 地址的旧条目,然后再次尝试连接,现在可以验证新密钥。

  • 我只想添加一些对我有帮助的内容 - 每当您使用 VSCode 进行连接并收到上述错误消息时,请查看“输出”部分 - 您应该看到类似“@ 警告:远程主机标识已更改! @”。如果您不知道本地known_hosts 文件在哪里,它会在文本下方告诉您该文件的路径。然后,您可以逐字删除known_hosts 文件中与您尝试连接的服务器相对应的行。然后再次尝试连接。 (9认同)
  • +1!如果您搜索“ctrl+f”和“known_hosts”,它还会为您提供一个带有“key-gen -f”键的立即命令,以删除该特定行。`ssh-keygen -f "/home/user/.ssh/known_hosts" -R "XXX.XXX.X.XXX"` (即您尝试连接的远程 IP)。 (2认同)

Aja*_*rge 10

删除主机名的密钥

ssh-keygen -R "hostname"
Run Code Online (Sandbox Code Playgroud)