
作为开发者,我们经常处理敏感数据,例如 API 密钥、SSH 凭证、数据库密码和其他机密信息。如何在确保这些数据安全的同时,确保它们能够在不同项目之间轻松访问,并非易事。
的 CLI 正是为此而生。

1Password CLI 是一个命令行工具,它允许您在不离开终端的情况下安全地访问和管理您的 1Password 保管库。您无需手动复制粘贴机密信息(这既繁琐又危险),而是可以通过编程方式获取凭证,自动化身份验证工作流程,并将机密信息管理集成到您的开发流程中。
在本文中,我们将探讨如何安装、配置和使用 1Password CLI,以简化您的工作流程,同时确保凭证信息的安全。
如果您使用的是 macOS 或 Linux,安装 1Password CLI 最简单的 *** 是使用 :
brew install 1password-cli
如果您使用的是 Windows,我建议您参考官方 中的安装说明。
对于 Windows 和 Linux 用户,请按照官方 1Password CLI 安装指南进行操作,以获得适合您系统的正确设置。
安装完成后,在 1Password 应用中,前往 Settings… > Developer
,然后勾选 Integrate with 1Password CLI
。

然后,使用以下命令通过终端登录,并选择您要登录的 1Password 帐户:
op signin
现在,您可以安全地访问和管理密钥,而无需以纯文本形式公开它们。
运行需要身份验证的命令时,手动复制和粘贴凭据既繁琐又不安全。使用 1Password CLI,您可以使用 op read 命令和 Secret References 动态检索 Secret。
要获取 Secret Reference,您可以点击您想要在 1Password 中引用的项目值的下拉箭头。

然后将其传递给需要 Secret 的命令。例如,要使用 令牌通过 doctl 进行身份验证,您可以运行:
doctl auth init --access-token $(op read op://Internet/d439ada/token)
另一种使用 1Password CLI 的方式是将 Secret 设置为环境变量。这在处理多个 Secret 或需要将它们传递给脚本或程序时非常有用。
如果您使用 测试 UI 组件,可以使用 op read 命令将 CHROMATIC_PROJECT_TOKEN 设置为环境变量:
#!/bin/bash export NPM_TOKEN=$(op read op://Internet/d439ada/npm_token) export CHROMATIC_PROJECT_TOKEN=$(op read op://Internet/d439ada/chromatic_token) // Install the dependencies, including the private ones that require NPM_TOKEN. npm install // Chormatic will automatically use the CHROMATIC_PROJECT_TOKEN. // @see https://www.chromatic.com/docs/cli/#continuous-integration npx chromatic
然后,您可以使用 op run 命令运行脚本,如下所示:
op run -- bash chormatic.sh
为了更加无缝地使用,您可以使用 Shell 插件将 1Password 与流行的第三方应用集成,例如 、 、 、 、 、 等等。
在本例中,我们将尝试将其与 Github CLI 集成。为此,我们可以运行:
op plugin init gh
系统将提示您将 GitHub 凭据导入 1Password,或选择保存凭据的现有 1Password 项。在本例中,由于我们已经将 GitHub 凭据保存在 1Password 中,因此我们可以选择现有项。

然后,它会询问您所选凭据的使用范围。在本例中,我们选择全局使用,以便可以在不同的存储库中使用它。

如果这是您之一次安装 Shell 插件,则需要将 source 命令添加到 RC 文件或 Shell 配置文件中,以便在当前终端会话结束后继续保留该插件。例如:
echo "source /Users/jondoe/.config/op/plugins.sh" >> ~/.zshrc && source ~/.zshrc
设置完毕!现在,您可以使用 gh 命令与 GitHub 交互,而无需以纯文本形式暴露您的凭据。要测试,您可以运行 gh auth status。

1Password CLI 是一款功能强大的工具,可让您从终端安全地访问和管理您的密钥。只需进行少量设置,即可简化工作流程,并将密钥管理集成到与其他应用的开发流程中,而无需以纯文本形式暴露您的凭据。如果您还没有尝试过,我建议您尝试一下,让您的开发工作流程更加安全高效。
不久前,PHP 8.0大张旗鼓地发布了。它带来了许多新特性、性能增强和变化——其中最令人兴奋的是新的JIT编译器。 技术世界总是在向前发展,PHP也是如此。 ,包含了几个令人兴奋的特性。它定于今年晚些时候于2021年11月25日发布。 在本文中,我们将详细介绍PHP 8.1将带来哪些新的东...
宝塔面板现在已经成为国内许多站长必备的服务器管理必备工具。相比直接使用SSH+FTP来管理服务器,宝塔面板可以提供可视化管理,包括文件管理、数据库管理、数据备份、SSL配置等等。 如果你希望更简单高效地管理您的网站及服务器,宝塔面板是不错的选择。下面是一些宝塔面板安装及常见问题:...
宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...
宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...
宝塔面板的计划任务,主要用于安排和管理需要定时执行的任务,如备份、内存清理等。其实对于大部分站长来说,主要使用该板块的备份网站、备份数据库及释放内存的三个定时任务计划。 Shell脚本的添加 输入任务名称,选择执行周期,输入执行的脚本内容。 注意事项: 输入脚本内容...
由于市场上有各种可用的数据库,用户经常会就MongoDB与MySQL进行辩论,以找出更好的选择。 使用MySQL等关系数据库的组织在根据不断变化的需求管理和存储数据时可能会面临一定的困难。同时,新公司想知道选择什么数据库,这样他们就不会在开发过程中遇到问题。 同时,构建金融应用程序的开发人员...