我正在使用分子和 Vagrant 来部署 centos7 实例。由于某些原因,我需要使用 ssh 命令访问分子实例,instead of molecule login
.然后 ssh 信息将粘贴到我的一个 VS 代码扩展中。
分子.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 命令不起作用。
错误
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @
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 ECDSA key sent by the remote host is SHA256:wVk4Da5pWWNHLiypvEKAJuwzG/2FLOMgwPkrO4oFBZQ. Please contact your system administrator. Add correct host key in /Users/abel/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/abel/.ssh/known_hosts:32 ECDSA host key for 192.168.33.111 has changed and you have requested strict checking. Host key verification failed
最佳答案
如果您在具有静态服务器的环境中使用此消息,则此消息可能意味着它所说的:“发生了一些令人讨厌的事情”。
但是,如果您有一个测试环境,您可以在其中创建和销毁虚拟机作为日常程序,这是一个“正常”的安全警告。
它只是意味着“嘿,我现在是这个人,但他的指纹与我文档文件中的指纹不匹配”。如果这是有意的(就像我说的,在测试环境中)——那么只需进入“文档文件”,删除“这个人的指纹”并“为他取一个新的指纹”。
因此,在您的情况下(“/Users/abel/.ssh/known_hosts:32”)只需打开您的“known_hosts”文件,然后删除第 32 行。
或者使用命令:ssh-keygen -R 192.168.33.111 -f "~/Users/abel/.ssh/known_hosts"
关于ssh - 如何在没有分子登录的情况下通过 SSH 连接到分子实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59527704/