名称: 1password 描述: 设置和使用 1Password CLI (op)。在安装 CLI、启用桌面应用集成、登录(单账户或多账户)或通过 op 读取/注入/运行秘密时使用。 主页: https://developer.1password.com/docs/cli/get-started/ 元数据: { “otto”: { “表情”: “🔐”, “要求”: { “二进制文件”: [“op”] }, “安装”: [ { “id”: “brew”, “类型”: “brew”, “公式”: “1password-cli”, “二进制文件”: [“op”], “标签”: “安装 1Password CLI (brew)”, }, ], }, }
1Password CLI
遵循官方 CLI 入门步骤。不要猜测安装命令。
参考
references/get-started.md(安装 + 应用集成 + 登录流程)references/cli-examples.md(真实的op示例)
工作流程
- 检查操作系统 + shell。
- 验证 CLI 存在:
op --version。 - 确认桌面应用集成已启用(根据入门指南)并且应用已解锁。
- 必需:为所有
op命令创建一个新的 tmux 会话(不要在 tmux 外直接调用op)。 - 在 tmux 内登录 / 授权:
op signin(期望应用提示)。 - 在 tmux 内验证访问:
op whoami(在任何秘密读取之前必须成功)。 - 如果多个账户:使用
--account或OP_ACCOUNT。
必需的 tmux 会话 (T-Max)
shell 工具每个命令使用一个新的 TTY。为了避免重新提示和失败,总是在一个专用的 tmux 会话中运行 op,使用新的 socket/会话名称。
示例(参见 tmux 技能以了解 socket 约定,不要重用旧会话名称):
SOCKET_DIR="${OTTO_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/otto-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/otto-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
tmux -S "$SOCKET" kill-session -t "$SESSION"
防护措施
- 永远不要将秘密粘贴到日志、聊天或代码中。
- 优先使用
op run/op inject而不是将秘密写入磁盘。 - 如果需要没有应用集成的登录,使用
op account add。 - 如果命令返回“账户未登录”,在 tmux 内重新运行
op signin并在应用中授权。 - 不要在 tmux 外运行
op;如果 tmux 不可用,停止并询问。