当前位置: 首页 > 知识库问答 >
问题:

PyCharm说远程主机ID已更改,但ssh-keyscan没有

咸臻
2023-03-14

今天早上PyCharm开始警告我:

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 the host key has just been changed. The 
fingerprint for the ssh-ed25519 key sent by the 
remote host is
[redacted A]

Do you want to update the key in
/Users/[myhome]/.ssh/known_hosts and resume 
connecting?

然后它问我是否要更改~/Users/[myhome]/。ssh/known_主机。

目标主机用作sftp将我的代码传输到远程服务器。它的名称是两个数据搬迁节点的别名。我可以使用ssh-keyscan-t ed25519alias.remotehost.com查看它们的ssh公钥,并获得与我known_hosts文件中的密钥匹配的密钥。我还可以连接到不同的远程服务器,此时我不会收到关于更改ssh密钥的警告,并且ssh-keyscan原始远程主机和我在known_hosts中获得相同的密钥。

PyCharm所说的新键与任何现在两次确认的ssh键都不匹配。PyCharm-message派生键的格式甚至与ssh-keyscan中的键完全不同。

怎么回事?我不想只是快速浏览一个安全警告,我想要一些指导,看看为什么PyCharm会给我这个警告,否则我无法确认。

共有1个答案

彭宏义
2023-03-14

原因不一定是安全问题。您是否仔细检查了SSH配置,特别是PyCharm使用的known_hosts文件是否与您正在检查的相同?
https://man.openbsd.org/ssh_config#UserKnownHostsFile您可能需要查看PyCharmSSH配置...连接参数;例如,您看到的不同格式可能与以哈希格式选项(待确认)存储主机有关:
https://www.jetbrains.com/help/pycharm/settings-tools-ssh-configurations.html您可以尝试从头开始重新创建SSH配置,如下所述:
https://www.jetbrains.com/help/pycharm/create-ssh-configurations.html如果您100%确定known_hosts文件中的密钥是正确的,并且与您的目标服务器匹配,这将删除known_hosts文件中的条目,并且应该再次提示您在下一次连接时接受服务器密钥:

ssh-keygen -R <host>

(其中host是您的目标服务器、IP或主机名:示例中的alias.remotehost.com;您可以使用-f提供文件的路径

参考文件ssh远程主机标识已更改https://stackabuse.com/how-to-fix-warning-remote-host-identification-has-changed-on-mac-and-linux/
https://youtrack.jetbrains.com/issue/CPP-19720

 类似资料:
  • 我重新安装了服务器,收到以下消息: 我已经尝试了我在互联网上找到的各种解决方案。我的文件(通常在)在中。我试着编辑它,但它仍然保持一种状态。我已经安装了ipa-client和Fedora19。如何解决此警告? 只有在您没有安装Freeipa的情况下,到目前为止回答的所有答案才起作用。

  • 我尝试使用scp将文件复制到远程服务器。 当我执行时,我得到了错误: 所以我从~/中删除了known_hosts文件。ssh并再次尝试该命令。但还是有这样的信息。我需要在哪里修改我的文件,然后除了。ssh文件夹?

  • 当SSH出现 警告:远程主机标识已更改! 我知道当您重新安装远程服务器时会发生这种情况,但我尝试列出其他原因。 我知道如何解决它,所以请不要将主题标记为重复,这是关于问题的根源。

  • 输入命令后 我收到一个错误

  • 我为我和一个朋友使用了一个免费的ssh聊天应用程序。以前,他可以连接到我的聊天(通过ssh)没有任何问题。 但是我在Linux中更改了用户会话,我必须用命令生成一个新的ssh密钥: 我从我的新用户会话开始了ssh聊天。这很完美。(我可以通过另一台本地计算机连接到聊天) 但是当我的朋友尝试连接到聊天时,他会收到以下警告: “有时”,shell会要求他输入密码(朋友告诉我),因此,我要求他通过以下方式

  • 我的计算机上安装了几个虚拟机,我通过ssh连接到它们: 或 所以每次我连接到不同的vm我需要编辑我的文件,以便摆脱:消息。 有没有办法自动信任本地主机上的所有虚拟机?