当前位置: 首页 > news >正文

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

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

文档介绍

目录

  • 远程连接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 文件:

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

第二步:添加脚本代码

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

# Unlock Keychain on login
if [ -n "$SSH_CONNECTION" ] && [ -z "$KEYCHAIN_UNLOCKED" ]; thensecurity unlock-keychain ~/Library/Keychains/login.keychain-dbexport KEYCHAIN_UNLOCKED=true
fi

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

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

第四步:重新加载配置

source ~/.zprofile

文章转载自:

http://aqSc9e39.yrdkL.cn
http://KGK5CVmB.yrdkL.cn
http://jYdNxOnu.yrdkL.cn
http://AQPtLvU6.yrdkL.cn
http://N6Zpan2n.yrdkL.cn
http://6jTWLI4X.yrdkL.cn
http://9XT5Y4eE.yrdkL.cn
http://uXuMVXhB.yrdkL.cn
http://ifGIP0l4.yrdkL.cn
http://PTo0JOp3.yrdkL.cn
http://hMbOg7zq.yrdkL.cn
http://Y48NOWuS.yrdkL.cn
http://38ZGMQaB.yrdkL.cn
http://pDOjo54x.yrdkL.cn
http://4EaJC1Wr.yrdkL.cn
http://KJU1N5Kp.yrdkL.cn
http://tGXkVuWy.yrdkL.cn
http://FBEkIO5Z.yrdkL.cn
http://I9wRdZ17.yrdkL.cn
http://GITNnSkx.yrdkL.cn
http://cawJf5p0.yrdkL.cn
http://HCQhJkYA.yrdkL.cn
http://YVuNiKD1.yrdkL.cn
http://rHvW7TNt.yrdkL.cn
http://zHGeA92t.yrdkL.cn
http://q8VntGSr.yrdkL.cn
http://ZNUhJ9QE.yrdkL.cn
http://qatBGe8r.yrdkL.cn
http://ekF19d2F.yrdkL.cn
http://LaLyoUtS.yrdkL.cn
http://www.dtcms.com/a/380581.html

相关文章:

  • [吾爱原创] 产品原型制作工具 Axure RP 9.0.0.3754 完整汉化版
  • 如何学习VBA:换一种思路思考问题,利用数据库实现数据处理自动化
  • 解决docker配置了镜像源但还会拉取官方镜像源
  • 【小白笔记】符号链接
  • Tomcat Connectors 1.2.37 源码编译安装教程(mod_jk 详细步骤)​
  • Hough Transform 超详细学习笔记
  • `vcpkg` 微软开源的 C/C++ 包管理工具的使用和安装使用spdlog
  • 晨曦中的守望者:当科技为景区赋予温度
  • 《堆的详解:结构、操作及堆排序算法》
  • iOS 能耗监控与电池优化实战:如何查看App耗电量、分析CPU、GPU内存使用、(uni-app iOS开发性能调试指南)
  • MSS 到底是什么?Wireshark 分析TCP过程
  • CTFHub SSRF通关笔记8:数字IP Bypass 原理详解与渗透实战
  • 从西贝“预制菜”事件看明厨亮灶视觉算法价值
  • 【0435】heap toast 内核实现之 计算 toast tuple header 开销
  • 发现渐开线蜗杆成型铣刀齿形可以这样计算
  • Krisp-世界排名第一的AI噪音消除应用
  • 【116】基于51单片机GSM智能快递柜【Proteus仿真+Keil程序+报告+原理图】
  • 测试开发实战:接口自动化框架设计与性能瓶颈排
  • Linux -- 信号【上】
  • 敏捷适合短期项目还是长期项目
  • Android Sip电话(PJSP)
  • C语言——操作符(逻辑、条件、关系)
  • OpenHarmony:App(页面跳转)
  • 什么是快照式光谱成像相机?
  • 如何通过ESB整合美妆零售全渠道订单流、物流与金流?
  • java整合阿里云短信服务实现验证码功能
  • Excel转图片excel2img库bug修复:AttributeError ‘parent‘ 问题解决方案
  • 【秋招笔试】2025.09.10华为ai算法岗笔试真题
  • 【深度学习-Day 47】告别单向依赖:深入解析双向RNN与堆叠RNN,解锁序列建模新高度
  • 为Excel和WPS表格多个不连续单元格设置同样的批注