1 个稳定版本
1.1.1 | 2024 年 4 月 30 日 |
---|
#278 在 命令行界面
51KB
363 行
ssh_auth_podman_push
使用 SSH 密钥存储和使用加密的 docker-hub secret_token
版本:1.1.1 日期:2024-04-30 作者:bestia.dev 仓库:GitHub
标签:#维护 #准备好使用 #rustlang #自动化 #工作流
我在 GitHub 上的项目更像教程而不是成品:bestia-dev 教程.
我建议使用 CRUSTDE - 嵌入式 Rust 开发环境 在 Linux 上编写 Rust 项目,与系统隔离。
动机
要访问 docker-hub,您需要一个用户名+密码或访问 secret_token。
重要:像对待密码一样对待访问 secret_token 并保密。例如,将您的 secret_token 安全地存储在凭据管理器中。
访问 secret_token 对普通人来说很难记住。我们需要将它们存储在某个地方。
提醒:Podman 是 Docker 的替代品。
我相信它们都使用命令存储 docker-hub secret_token 以进行登录:
podman login --username user_name docker.io
docker login --username user_name docker.io
警告:请注意,它们将 secret_token 存储在文件中为 "纯文本":${XDG_RUNTIME_DIR}/containers/auth.json
。
好吧,这并不是真正的纯文本,但是 base64 编码并不是安全特性。
这意味着任何能够访问此知名文件的攻击者都可以登录我们的 Docker Hub 账户。不好!!!
我想用 SSH 密钥加密来保护这个 secret_token。
我们已经有很多创建、管理和保护我们的 SSH 密钥的经验。私钥由我们可以记住并输入的密码保护。每次使用 secret_token 都需要用户交互来输入密码。非常安全。
如果我们对我们当前会话非常有信心,我们可以将SSH密钥存储在ssh-agent中,并且只需写入一次密码。
警告:一个专门的攻击者可能可以从ssh-agent中读取并发现访问secret_token,而无需我们的用户交互。请自行决定是否使用此功能。
替换命令
将可执行文件ssh_auth_podman_push
放入您打算使用它的文件夹中。
复制后,使用chmod +x ssh_auth_podman_push
使其可执行。
不要使用podman push...
,而是使用ssh_auth_podman_push
。
如果它找到了加密的secret_token,它将要求您输入私有SSH密钥的密码。否则,它将要求您存储secret_token。
开发细节
请在单独的md文件中阅读开发细节:[DEVELOPMENT.md](https://github.com/crustde-containerizedrustdevenv/ssh_auth_podman_push/blob/b396879f4b8d9b8e29228485a09402a87ec6c4b4/DEVELOPMENT.md)
发布变更日志
请在单独的md文件中阅读发布变更日志:[RELEASES.md](https://github.com/crustde-containerizedrustdevenv/ssh_auth_podman_push/blob/b396879f4b8d9b8e29228485a09402a87ec6c4b4/RELEASES.md)
待办事项
然后快乐地继续编码...
开源和免费,就像啤酒一样
我的开源项目免费,就像啤酒一样(MIT许可证)。
我热爱编程。
但是我也需要喝酒。如果您发现我的项目和教程有帮助,请通过向我捐赠来为我买一杯啤酒。[PayPal](https://paypal.me/LucianoBestia)。
您知道您当地酒吧啤酒的价格 ;-)
所以我可以为您的健康喝一杯免费的啤酒 :-)
[Na zdravje!](https://translate.google.com/?hl=en&sl=sl&tl=en&text=Na%20zdravje&op=translate) [Alla salute!](https://dictionary.cambridge.org/dictionary/italian-english/alla-salute) [Prost!](https://dictionary.cambridge.org/dictionary/german-english/prost) [Nazdravlje!](https://matadornetwork.com/nights/how-to-say-cheers-in-50-languages/) 🍻
//bestia.dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials
依赖项
~26–43MB
~749K SLoC