首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第一次引导时拒绝Openstack ubuntuVM SSH公钥权限

第一次引导时拒绝Openstack ubuntuVM SSH公钥权限
EN

Server Fault用户
提问于 2022-01-05 13:12:11
回答 2查看 2.1K关注 0票数 1

我正在3 CentOS 8节点(1=Control+Compute,2和3=Compute)上使用kolla-ansible部署Openstack(我尝试了victoria和ussuri)。部署工作正常,没有任何问题,但是当我从这里创建一个带有ubuntu映像(焦点服务器-Cloudimg-amd64.img)的新VM时,它看起来不太清晰。这会导致云-init脚本无法完成,因此配置的SSH-键没有在VM中设置,因此我无法登录。

代码语言:javascript
运行
复制
ubuntu@10.20.34.137: Permission denied (publickey).

但是它的ip地址是可点击的,所有的网络规则(安全组等等)都是可以的。现在奇怪的部分开始了。如果我现在执行了一个硬重新启动实例,它就会清晰地出现,并且我能够通过SSH登录。以前有没有人见过这个问题,因为我有另一个/更老的OpenStack ussuri实例正在运行(大约15个月前),而且同样的ubuntu映像工作得很好(我也验证了这一点)。

日志输出的第一次运行(仅最后一行):

代码语言:javascript
运行
复制
-----END SSH HOST KEY KEYS-----
[   49.380046] cloud-init[1387]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'modules:final' at Wed, 05 Jan 2022 11:17:08 +0000. Up 49.23 seconds.
[   49.380186] cloud-init[1387]: ci-info: no authorized SSH keys fingerprints found for user ubuntu.
[   49.380481] cloud-init[1387]: Cloud-init v. 21.4-0ubuntu1~20.04.1 finished at Wed, 05 Jan 2022 11:17:08 +0000. Datasource DataSourceNone.  Up 49.37 seconds
[   49.380779] cloud-init[1387]: 2022-01-05 11:17:08,288 - cc_final_message.py[WARNING]: Used fallback datasource

在硬重新启动实例(仅最后一行)之后记录输出:

代码语言:javascript
运行
复制
-----END SSH HOST KEY KEYS-----
[   15.105333] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'modules:final' at Wed, 05 Jan 2022 11:46:21 +0000. Up 14.95 seconds.
[   15.106253] cloud-init[851]: Cloud-init v. 21.4-0ubuntu1~20.04.1 finished at Wed, 05 Jan 2022 11:46:22 +0000. Datasource DataSourceOpenStackLocal [net,ver=2].  Up 15.10 seconds
[[0;32m  OK  [0m] Finished [0;1;39mExecute cloud user/final scripts[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mCloud-init target[0m.

Ubuntu 20.04.3 LTS asdfff ttyS0

asdfff login:

因此,我还测试了来自这里的debian映像(Debian-10-OpenStack-amd64.qco2),它在第一个启动时运行良好。

还有其他人见过这种行为吗?或者看看我能做些什么来解决这个问题。

致以亲切的问候,

迈克尔

EN

回答 2

Server Fault用户

发布于 2022-01-06 14:53:08

一些补充资料:

  • 注意到Openstack Ussuri和Victoria的问题。
  • 在外部openstack网络中,只有一个接口的Ubuntu可以观察到这个问题。
  • 在VM创建过程中,云init不能从源"http://169.254.169.254/openstack““请求与VM相关的元数据。这将导致使用默认键进行超时和初始化。启动日志表示:”警告而不是元数据源“。

解决方法是执行VM的“硬启动”。在“硬引导”期间,日志文件"/var/ log /cloud-init.log“表示添加了一个似乎修复了问题的路由。见日志条目14:27:08,314,下面那是在“硬启动”的双关。10.20.34.100是外部网络中的IP,它提供元数据。

代码语言:javascript
运行
复制
ubuntu@external-server:/var/log$ grep "169.254.169.254" cloud-init.log 
2022-01-06 14:25:33,037 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 0.000 seconds
2022-01-06 14:25:33,037 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:25:43,050 - url_helper.py[DEBUG]: Calling 'http://169.254.169.254/openstack' failed [10/-1s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /openstack (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fa3b80d8a60>, 'Connection to 169.254.169.254 timed out. (connect timeout=10.0)'))]
2022-01-06 14:25:43,050 - DataSourceOpenStack.py[DEBUG]: Giving up on OpenStack md from ['http://169.254.169.254/openstack'] after 10 seconds
2022-01-06 14:25:54,772 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 10.014 seconds
2022-01-06 14:25:54,772 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:26:04,785 - url_helper.py[DEBUG]: Calling 'http://169.254.169.254/openstack' failed [10/-1s]: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /openstack (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7fdefd568700>, 'Connection to 169.254.169.254 timed out. (connect timeout=10.0)'))]
2022-01-06 14:26:04,785 - DataSourceOpenStack.py[DEBUG]: Giving up on OpenStack md from ['http://169.254.169.254/openstack'] after 10 seconds
2022-01-06 14:27:08,314 - subp.py[DEBUG]: Running command ['ip', '-4', 'route', 'add', '169.254.169.254/32', 'via', '10.20.34.100', 'dev', 'ens3'] with allowed return codes [0] (shell=False, capture=True)
2022-01-06 14:27:08,317 - util.py[DEBUG]: Resolving URL: http://169.254.169.254 took 0.000 seconds
2022-01-06 14:27:08,318 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: Read from http://169.254.169.254/openstack (200, 105b) after 1 attempts
2022-01-06 14:27:08,930 - DataSourceOpenStack.py[DEBUG]: Using metadata source: 'http://169.254.169.254'
2022-01-06 14:27:08,930 - url_helper.py[DEBUG]: [0/6] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'method': 'GET', 'timeout': 10.0, 'headers': {'User-Agent': 'Cloud-Init/21.4-0ubuntu1~20.04.1'}} configuration
2

重新启动后,可以使用配置的凭据访问SSH。

问题可能是云init脚本,即在VM的第一个cloud_init期间没有向元数据服务器添加路由。

票数 1
EN

Server Fault用户

发布于 2022-09-06 05:59:16

我在微栈的Ussuri上遇到了这个问题。我尝试了建议的‘硬启动’的方法,但得到了同样的错误。我也得到了同样的错误与Fedora 36图像。

我解决了错误,但禁用,然后重新启用微堆栈.

代码语言:javascript
运行
复制
sudo snap disable microstack

sudo snap disable microstack
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1089057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档