远程连接Mac操作ClaudeCode一直提示登录Invalid API key · Please run /login

远程连接Mac操作ClaudeCode一直提示登录

文档介绍

目录

简介

当通过 SSH 连接到 Mac 并使用 Claude CLI 时,可能会遇到需要反复解锁 Keychain 的问题,这会影响 CLI 的正常使用。

脚本工作原理

这个改进的脚本包含两个条件检查:

  1. [ -n "$SSH_CONNECTION" ]: 检查是否在 SSH 会话中
  2. [ -z "$KEYCHAIN_UNLOCKED" ] : 检查环境变量 KEYCHAIN_UNLOCKED 是否未设置

只有当两个条件都满足时,脚本才会:

  • 执行 security unlock-keychain 命令解锁 Keychain
  • 设置环境变量 KEYCHAIN_UNLOCKED=true 防止重复执行
为什么这个方案有效
  1. 避免重复解锁: 通过环境变量标记,确保在同一个会话中只解锁一次
  2. 解决输入问题: 防止 Claude CLI 创建的登录 shell 重复触发解锁命令
  3. 仅在需要时运行: 只在 SSH 连接时才执行,不影响本地使用
注意事项
  • Keychain 会话超时: 如教程中提到的,需要关注 Keychain 会话是否会超时,可能会影响长时间运行的 tmux 会话
  • 临时解决方案: 这是一个 workaround,理想情况下 Claude CLI 应该提供配置选项来禁用 Keychain 使用
  • 测试建议: 实施后测试 Claude CLI 的各项功能是否正常工作

解决方案详细步骤

第一步:定位配置文件

由于你使用的是 zsh,需要编辑 .zprofile 文件:

bash 复制代码
nano ~/.zprofile
# 或者使用你偏好的编辑器,如 vim ~/.zprofile

第二步:添加脚本代码

将以下代码添加到 .zprofile 文件的末尾:

bash 复制代码
# Unlock Keychain on login
if [ -n "$SSH_CONNECTION" ] && [ -z "$KEYCHAIN_UNLOCKED" ]; then
  security unlock-keychain ~/Library/Keychains/login.keychain-db
  export KEYCHAIN_UNLOCKED=true
fi

第三步:保存并退出编辑器

  • 如果使用 nano:按 Ctrl + X,然后按 Y 确认,再按 Enter
  • 如果使用 vim:按 Esc,输入 :wq,按 Enter

第四步:重新加载配置

bash 复制代码
source ~/.zprofile
相关推荐
liangshanbo12154 小时前
[特殊字符] Yazi 终极指南:从安装到精通 (macOS 专属)
macos
袁庭新4 小时前
M系列芯片Mac上通过Homebrew一键安装/卸载Nginx并上线项目全指南
运维·nginx·macos·袁庭新·袁庭新ai
北冥有鱼被烹6 小时前
【vibo经验记录】Mac 配置 Claude Code + 远程 Ollama 完全指南
macos·claude code·openclaw
无巧不成书02187 小时前
FFmpeg 保姆级安装教程!Windows/macOS/Linux全平台覆盖,
windows·macos·ffmpeg
I'm Jie7 小时前
MacOS 国内镜像一键安装 Homebrew
git·macos·homebrew
lucky_syq7 小时前
Mac电脑部署OpenClaw保姆级教程(2026最新版)
人工智能·macos·开源·电脑·openclaw
todoitbo17 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
姓王名礼1 天前
一份 Windows/macOS/Linux 完整安装 + 运行 + 对接 WebUI 的步骤
linux·windows·macos
zhensherlock1 天前
Protocol Launcher 系列:App Store 精准引流与应用推广
javascript·macos·ios·typescript·iphone·mac·ipad
新缸中之脑1 天前
mflux:Mac本地生图AI工具
人工智能·macos