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

Jan*_*yne 5 linux ssh virtualbox centos vagrant

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

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@
    @警告:远程主机标识已更改!@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@
    有人可能正在做一些令人讨厌的事情!
    现在有人可能正在窃听你(中间人攻击)!
    主机密钥也可能刚刚被更改。
    远程主机发送的 RSA 密钥的指纹是
    SHA256:VGRuX5IMJOd+PW6T4jo/ONm6D8vClUmVEaSI7j/nWb8。
    请联系您的系统管理员。
    在 /home/root/.ssh/known_hosts 中添加正确的主机密钥以消除此消息。
    /home/root/.ssh/known_hosts:6 中的违规 RSA 密钥
    weetube 的 RSA 主机密钥已更改,您已要求进行严格检查。
    主机密钥验证失败。

请注意以下事项。

  • VM 设置为静态 IP(例如 10.211.55.10)
  • 主机 (Windows) 已修改其主机文件(例如 10.211.55.10 myvm)
  • 我使用 cygwin 进行 SSH(例如 ssh root@myvm)

我还尝试通过将 /etc/ssh 复制到 /vagrant/ssh 进行引导,然后在 VM 配置中,将 /vagrant/ssh/* 复制回 /etc/ssh,但这似乎没有帮助。

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

关于如何避免这个问题的任何想法?

PGB*_*GBI 1

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

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

Host [IP of your VM]
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/.vagrant.d/insecure_private_key
Run Code Online (Sandbox Code Playgroud)