如何在没有分子登录的情况下通过 SSH 连接到分子实例

Posted

技术标签:

【中文标题】如何在没有分子登录的情况下通过 SSH 连接到分子实例【英文标题】:How do I SSH to molecule instance without molecule login 【发布时间】:2020-04-19 00:21:38 【问题描述】:

我正在使用分子和流浪者来部署 centos7 实例。由于某些原因,我需要使用 ssh 命令访问分子实例,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:wVk4Da5pWWNHLiypvEKAJuwzG/2FLOMgwPkrO4oFBZQ。请联系 您的系统管理员。添加正确的主机密钥 /Users/abel/.ssh/known_hosts 摆脱此消息。 /Users/abel/.ssh/known_hosts:32 ECDSA 中的违规 ECDSA 密钥 192.168.33.111 的主机密钥已更改,您已要求严格 检查。主机密钥验证失败

【问题讨论】:

据我所知,您的问答在DevOps SE 上更具主题性。 SO 和 SF 分别是关于软件和系统工程的。 删除 /Users/abel/.ssh/known_host 中有问题的键。每次重新创建具有相同 IP 的虚拟机时,您都必须这样做。 【参考方案1】:

如果您在具有静态服务器的环境中收到此消息,则此消息可能意味着它所说的:“发生了一些令人讨厌的事情”。

但是,如果您有一个测试环境,您可以在其中创建和销毁虚拟机作为日常程序,这是一个“正常”的安全警告。

它只是意味着“嘿,我现在是这个人,但他的指纹与我文档档案中的指纹不匹配”。如果这是有意的(就像我说的,在测试环境中) - 然后只需进入“文档存档”,删除“这个人的指纹”并“为他获取新的指纹”。

所以在您的情况下(“/Users/abel/.ssh/known_hosts:32”)只需打开您的“known_hosts”文件,然后删除第 32 行。

或者使用命令:

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

【讨论】:

以上是关于如何在没有分子登录的情况下通过 SSH 连接到分子实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS之SSH登录:使用 PuTTY 从 Windows 连接到 Linux 实例

如何允许root用户远程登录?

如何允许root用户远程登录?

我如何知道指定的 JID 是不是已经连接到服务器?

我如何通过 ssh 连接到谷歌合作虚拟机?

如何自动输入密码ssh连接到其他机器