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

如何在每次执行vagrant up命令后保持RSA密钥的指纹不变?

艾心远
2023-03-14

我正在使用Vagrant VirtualBox CentOS 6.5(box)创建虚拟机。每次我向VM发出命令vagrant up和SSH时,我都会收到以下消息。


    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    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:VGRuX5IMJOd+PW6T4jo/ONm6D8vClUmVEaSI7j/nWb8.
    Please contact your system administrator.
    Add correct host key in /home/root/.ssh/known_hosts to get rid of this message.
    Offending RSA key in /home/root/.ssh/known_hosts:6
    RSA host key for weetube has changed and you have requested strict checking.
    Host key verification failed.

请注意以下几点。

  • 虚拟机设置为静态IP(例如10.211.55.10)

我还尝试了引导,将/etc/ssh复制到/vagrant/ssh,然后在虚拟机提供上,将/vagrant/ssh/*复制回/etc/ssh,但这似乎没有帮助。

绕过此消息的唯一方法是(使用Cygwin)并从~/中删除条目。ssh/known_主机。我不想每次必须重新创建VM时都这样做(例如,vagrant up)。

关于如何避免这个问题,有什么想法吗?

共有1个答案

袁永贞
2023-03-14

我不知道如何在重建VM时使指纹保持不变。但是,您可以将ssh配置设置为忽略指纹(仅适用于您的VM!)

在:~/. ssh/config(我使用的是macOS,ssh配置文件可能位于其他系统的其他位置):

Host [IP of your VM]
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/.vagrant.d/insecure_private_key
 类似资料:
  • 我正在做一个双人骰子游戏,有五轮,但是我想保持前几轮的分数不变,我该怎么做? 游戏规则如下: 每个玩家骰子上滚动的分数会加到他们的分数上。如果总数是偶数,他们的分数会增加10分。如果总数是奇数,他们的分数会减去5分。如果他们掷出双倍,他们会多掷一个骰子,并将滚动的分数加到他们的分数上。玩家的分数在任何时候都不能低于0。在5轮结束时得分最高的人获胜。如果两个玩家在5轮结束时得分相同,他们每人投1个死

  • 问题内容: 我想在我运行的每个bash命令之后打印日期。 这可以帮助我了解远离键盘时要执行多少命令。 我知道我能做 获取日期,但我不知道在bash上执行的每个命令之后如何甚至是否可以运行此命令。 我也会对在每个命令 之前 运行同一命令感兴趣,因此我可以知道一个命令花费了多长时间。 可能吗? 我应该编辑什么文件? 例如: 如果我也可以介绍以下功能,我将很高兴: 第一个日期是我运行程序的日期,第二个是

  • 我有一个EVP_PKEY结构中的RSA公钥(从PEM文件加载,以------开始公钥------)。现在,我希望能够使用OpenSSL API显示代码中该密钥的指纹。(目的是允许操作员在信任JWT之前使用RS256验证其密钥)。 不幸的是,到目前为止,我发现的所有资源要么在命令行上使用ssh-keygen,要么使用X.509证书的指纹,但不使用公钥。 那么,如何使用OpenSSL API获取存储在

  • 问题内容: 我想问一下如何多次执行1条命令 例如此代码 我要运行500次,该怎么办? 谢谢 问候威廉姆斯 问题答案: 使用循环, 请阅读基本的Java教程。可以在这里找到一个

  • 我在.NET Core2.0中创建了一个RSA加密/解密服务,目前我使用密钥库机密来保存RSA密钥。但据我所知,我可以用Key Vault密钥实现这一点,但目前还不能实现,因为KV Keys不支持2048长RSA密钥的加密/解密...这真让我摸不着头脑。 那么,我是否可以使用带有Azure Key Vault密钥的2048密钥来实现RSA加密/解密呢?

  • 作为标题,如何在Java中从SSH RSA公钥计算指纹?我从sample.pub获得了一个rsaPublicKey对象,并使用库Apache Commons Codec但当使用ssh-keygen命令sample.pub时,我得到了不同的指纹,如下所示