如何在没有 molecule 登录的情况下 SSH 到 molecul 实例

我正在使用 molecule 和 vagrant 部署 centos7 实例。出于某些原因,我需要使用 ssh 命令访问 molecule 实例,而不是使用 molecule 登录。然后将 ssh 信息粘贴到我的 VS Code 扩展程序中。

Molecule.yml

---

dependency:
  name: gilt
driver:
  name: vagrant
  provider:
    name: virtualbox
lint:
  name: yamllint
platforms:
  - name: openresty-instance
    box: centos/7
    instance_raw_config_args:
      - "ssh.insert_key = false"
      - "vm.network 'forwarded_port', guest: 22, host: 22"
      - "vm.network 'forwarded_port', guest: 80, host: 8080"
    interfaces:
      - auto_config: true
        network_name: private_network
        ip: '192.168.33.111'
provisioner:
  name: ansible
  log: true
  lint:
    name: ansible-lint
verifier:
  name: testinfra
  lint:
    name: flake8

上面的 IP 让我可以访问 vagrant 外部的 80 端口。

但是连接 molecul 实例 IP 的 ssh 命令不起作用。

错误信息

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @

警告:远程主机标识已更改!@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 可能有人在做些不好的事情!有人可能正在窃听您(中间人攻击)!它也是@ 可能一个主机密钥刚刚被更改。远程主机发送的 ECDSA 密钥的指纹是@ SHA256 :wVk4Da5pWWNHLiypvEKAJuwzG/2FLOMgwPkrO4oFBZQ。请联系@ 您的系统管理员。在 /Users/abel/.ssh/known_hosts 中添加正确的主机密钥,以消除此消息。@ 在 /Users/abel/.ssh/known_hosts 中的有关 ECDSA 的冒犯密钥:32 ECDSA@ 192.168.33.111 的主机密钥已更改,您已请求严格的代码验证。主机密钥验证失败。

点赞
用户4940240
用户4940240

这条信息可能意味着:“某些恶意活动正在进行”,如果您在一个静态服务器环境中使用它。

但如果您有一个测试环境,在这个环境中每天创建和销毁虚拟机,这是一个“正常”的安全警告。

它只是表示:“嘿,我知道这个家伙,但他的指纹与我的文档存档中的不匹配。”如果这是有意的(像我说的,在测试环境中)-那么只需进入“文档存档”,删除“这个家伙的指纹”并“重新获取他的新指纹”。

那么在您的情况下("/Users/abel/.ssh/known_hosts:32"),只需打开您的“known_hosts”文件,并删除第32行。

或者使用以下命令:

ssh-keygen -R 192.168.33.111 -f "~/Users/abel/.ssh/known_hosts"
2020-05-14 13:38:19