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

我正在使用Vagrant VirtualBox CentOS 6.5(盒子)创建VM.每次我发出命令vagrant up和SSH进入VM时,我收到以下消息.


    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    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.

请注意以下事项.

> 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)并从〜/ .ssh / known_hosts中删除myvm中的条目.每次我必须重新创建VM(例如流浪者)时,我不想这样做.

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

解决方法:

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

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

Host [IP of your VM]
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/.vagrant.d/insecure_private_key
上一篇:如何在本地流浪汉上使用php cURL?


下一篇:vagrant root 登录虚拟机