首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hawkBit swupdate Suricatta: HTTP/1.401未经授权

hawkBit swupdate Suricatta: HTTP/1.401未经授权
EN

Stack Overflow用户
提问于 2021-05-16 04:08:41
回答 1查看 628关注 0票数 1

我希望设置hawkBit (运行在服务器上)和swupdate (运行在多个客户机上- Linux ),以在Suricatta模式下执行OS/Software。

1/跟进我在hawkBit社区的文章,我成功地在服务器上运行了hawkBit,如下所示:

  • 导出到外部链接: http://:
  • 启用MariaDB
  • 启用网关令牌身份验证(在hawkBit系统配置中)
  • 创建了一个软件模块
  • 上传一件艺术品
  • 创建了一个分发集
  • 将软件模块分配给分配集
  • 使用目标ID "dev01“创建目标(在部署管理UI中)
  • 创建了一个展示
  • 创建目标过滤器

2/我成功地将swupdate构建/执行为SWupdate指南

  • 启用Suricatta守护进程模式
  • 运行swupdate:/usr/bin/swupdate -v -k /etc/public.pem -u '-t DEFAULT -u http://<domain>:<port> -i dev01'
  • 我很确定这个命令不正确,输出日志如下所示:
代码语言:javascript
复制
*   Trying <ip address>...
* TCP_NODELAY set
* Connected to <domain> (<ip address>) port <port> (#0)
> GET /DEFAULT/controller/v1/10 HTTP/1.1
Host: <domain>:<port>
User-Agent: libcurl-agent/1.0
Content-Type: application/json
Accept: application/json
charsets: utf-8

< HTTP/1.1 401 Unauthorized
< Date: Sun, 16 May 2021 02:43:40 GMT
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-Frame-Options: DENY
< Content-Length: 0
< 
* Connection #0 to host <domain> left intact
[TRACE] : SWUPDATE running :  [channel_log_effective_url] : Channel's effective URL resolved to http://<domain>:<port>/DEFAULT/controller/v1/dev01
[ERROR] : SWUPDATE failed [0] ERROR corelib/channel_curl.c : channel_get : 1109 : Channel operation returned HTTP error code 401.
[DEBUG] : SWUPDATE running :  [suricatta_wait] : Sleeping for 45 seconds.
  • 根据@laverman on 吉特的建议
代码语言:javascript
复制
You can use Gateway token in the Auth header of the request, e.g. “Authorization : GatewayToken a56cacb7290a8d8a96a2f149ab2f23d1”

但是我不知道客户端是如何发送这个请求的(它应该由swupdate发送,对吗?)

3/按照来自教程@ EclipseCon欧洲2019的这些说明,它指导我发送请求,以便从hawkBit设备模拟器提供多个客户端。问题是如何将它应用到真正的设备上。

另一个困惑是:当创建新的软件模块,在hawkBit UI上发布时,我找不到这些模块的ID,但是通过发送请求创建教程,我可以在响应中看到ID。

所以我的问题是:

1/我的hawkBit设置步骤正确吗?

2/如何配置/运行swupdate (在客户端上)以执行更新:对新软件的轮询、下载、更新、报告状态、.

如果我的描述不够清楚,请告诉我。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-21 11:43:42

很高兴看到你正在为你的解决方案尝试鹰派!

我有几点意见:

  • suricatta参数GatewayToken为-g-k为TargetToken。
  • 需要在引号内设置-g <GATEWAY_TOKEN> (参见SwUpdate文档示例:/usr/bin/swupdate -v -u '-t DEFAULT -u http://<domain>:<port> -i dev01 -g 76430e1830c56f2ea656c9bbc88834a3' )
  • 对于GatewayToken身份验证,您需要在System视图中提供生成的令牌,它是一个生成的哈希代码,与这里的示例类似
  • 您还可以使用自己的TargetToken分别对每个设备/客户端进行身份验证。您可以在鹰派文件中找到更多信息。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67553101

复制
相关文章

相似问题

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