如何在不登录 molecule 的情况下 SSH 到 molecule 实例?

问题描述 投票:0回答:1

我正在使用 molecule 和 vagrant 来部署 centos7 实例。由于某些原因,我需要使用ssh命令访问molecule实例。instead of molecule login. 然后,SSH信息将粘贴到我的一个VS代码扩展中。

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端口。

但对分子实例IP的ssh命令无法使用。

错误

有人可能正在窃听你(中间人攻击)! 也有可能是主机密钥刚刚被更改。远程主机发送的ECDSA密钥的指纹是SHA256:wVk4Da5pWWNHLiypvEKAJuwzG2FLOMgwPkrO4oFBZQ。请联系您的系统管理员。在Usersabel.sshknown_hosts中添加正确的主机密钥以消除此消息。 Usersabel.sshknown_hosts中的违规ECDSA密钥:32 192.168.33.111的ECDSA主机密钥已更改,您已要求严格检查。主机密钥验证失败

ssh centos vagrant molecule
1个回答
0
投票

如果你在一个有静态服务器的环境中遇到这种情况,这条消息可能意味着:"有一些讨厌的东西正在发生"。

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

它只是意味着 "嘿,我发现了这个人,但他的指纹与我的文档档案中的指纹不匹配"。如果这是有意为之(就像我说的,在测试环境中)--那么只需进入 "文档存档",删除 "这个家伙的指纹",然后 "为他采集一个新的指纹"。

所以在你的情况下("Usersabel.sshknown_hosts:32"),只要打开你的 "known_hosts"-文件,然后删除第32行。

或者使用命令。

ssh-keygen -R 192.168.33.111 -f "~/Users/abel/.ssh/known_hosts"

© www.soinside.com 2019 - 2024. All rights reserved.