1 个稳定版本
1.0.3 | 2024 年 4 月 30 日 |
---|
#427 in 命令行界面
49KB
357 行
ssh_auth_cargo_publish
使用 SSH 密钥存储和利用 crates.io 的加密 secret_token
版本:1.0.3 日期:2024-04-30 作者: bestia.dev 仓库: GitHub
标签:#维护 #可用 #rustlang #自动化 #工作流程
我的 GitHub 项目更像是教程而不是成品: bestia-dev 教程.
我推荐使用 CRUSTDE - 容器化 Rust 开发环境 在 Linux 上编写 Rust 项目,与系统隔离。
动机
要使用 cargo publish
访问 crates.io,你需要一个访问 secret_token。
重要:请像对待密码一样处理访问 secret_tokens,并确保其保密性。例如,在凭证管理器中安全地存储您的 secret_tokens。
对普通人来说,访问 secret_tokens 是难以记住的。我们需要将它们存储在某个地方。
此命令存储 crates.io 的 secret_token
cargo login
警告:默认情况下,它们将在文件中存储明文 secret_token:~/.cargo/credentials
。
好的,我注意到在这个领域有一些发展,现在可以使用“凭证提供者”。
我想使用 SSH 密钥加密来保护这个 secret_token。
我们在创建、管理和保护我们的 SSH 密钥方面已经积累了大量的经验。私钥由我们能够记住并输入的密码短语保护。每次使用 secret_token 都需要用户交互来输入密码短语。非常安全。
如果我们对我们当前会话非常有信心,我们可以将 SSH 密钥存储在 ssh-agent 中,并只输入一次密码短语。
警告:有专门攻击者可能从 ssh-agent 中读取并发现访问 secret_token 而不进行用户交互。请自行决定是否使用此功能。
替换命令
将可执行文件 ssh_auth_cargo_publish
放入你打算使用它的文件夹。
复制后,使用chmod +x ssh_auth_cargo_publish
使其可执行。
不要使用cargo publish ...
,而是使用ssh_auth_cargo_publish
。
如果它找到加密的secret_token,将要求您输入私钥的密码短语。否则,它将要求您存储secret_token。
开发细节
在单独的md文件中阅读开发细节:DEVELOPMENT.md
发布变更日志
在单独的md文件中阅读发布变更日志:RELEASES.md
待办事项
之后就可以快乐地编码了...
开源且免费如啤酒
我的开源项目免费如啤酒(MIT许可)。
我热爱编程。
但我也需要喝酒。如果您觉得我的项目和教程有用,请通过捐赠给我买一杯啤酒,链接为PayPal。
您知道您当地酒吧啤酒的价格 ;-)
这样我就可以为您的健康免费喝一杯啤酒 :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻
//bestia.dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials
依赖项
~26–43MB
~749K SLoC