ssh - 如何在没有分子登录的情况下通过 SSH 连接到分子实例
问题描述
我正在使用分子和流浪者来部署 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 命令不起作用。
错误
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @
警告:远程主机标识已更改!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ 可能有人在做一些讨厌的事情!有人现在可能正在窃听您(中间人攻击)!主机密钥也可能刚刚更改。远程主机发送的 ECDSA 密钥的指纹为 SHA256:wVk4Da5pWWNHLiypvEKAJuwzG/2FLOMgwPkrO4oFBZQ。请联系您的系统管理员。在 /Users/abel/.ssh/known_hosts 添加正确的主机密钥以消除此消息。/Users/abel/.ssh/known_hosts:32 ECDSA 192.168.33.111 的 ECDSA 主机密钥已更改,您已请求严格检查。主机密钥验证失败
解决方案
如果您在具有静态服务器的环境中使用此消息,则此消息可能意味着它所说的:“发生了一些令人讨厌的事情”。
但是,如果您有一个测试环境,您可以在其中创建和销毁虚拟机作为日常程序,这是一个“正常”的安全警告。
它只是意味着“嘿,我现在是这个人,但他的指纹与我文档档案中的指纹不匹配”。如果这是有意的(就像我说的,在测试环境中)——那么只需进入“文档档案”,删除“这个人的指纹”并“为他取一个新的指纹”。
因此,在您的情况下(“/Users/abel/.ssh/known_hosts:32”)只需打开您的“known_hosts”文件,然后删除第 32 行。
或者使用命令:
ssh-keygen -R 192.168.33.111 -f "~/Users/abel/.ssh/known_hosts"
推荐阅读
- python-3.x - DA-RNN 中的细胞状态
- mysql - 分组连接值在哪里
- python - 将csv文件拆分为两个单独的文件python 3.7
- swift - NSfetchRequest 什么都不返回
- routing - 角度延迟加载的模块子路由在页面重新加载/刷新时不起作用
- bash - 编写用于更新项目依赖项的 bash 脚本的替代方法是什么?
- reactjs - 尝试将 react.js 应用程序部署到 heruko 时出错
- continuous-integration - GitLab CI:防止合并后重复作业执行
- postgresql - Postgresql 数据库级别、表级别、列级别的排序规则
- css - 如何在中使用 CSS 变量