如何在没有分子登录的情况下通过 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 连接到分子实例的主要内容,如果未能解决你的问题,请参考以下文章