You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用1Password SSH Agent认证远程主机/GitHub时SSH私钥无法识别求助

使用1Password SSH Agent管理SSH密钥的配置与认证故障排查

配置说明

所有SSH公私密钥对存储在1Password中,依赖1Password SSH Agent完成远程SSH服务器或GitHub的认证,对应系统配置如下:

Mac系统配置

编辑~/.ssh/config文件,添加以下内容:

Host github.com
  User git
  HostName github.com
  IdentityAgent ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
Host *
  IdentityAgent ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock

Linux系统配置

编辑~/.ssh/config文件,添加以下内容:

Host github.com
  User git
  HostName github.com
  IdentityAgent ~/.1password/agent.sock
Host *
  IdentityAgent ~/.1password/agent.sock

问题描述

原本正常的系统突然无法完成SSH认证。通过ssh -vvv排查发现:ssh-add -l已列出对应远程系统的私钥,但该私钥未被SSH客户端找到或选用。

排查与解决步骤

  • 确认1Password SSH Agent状态
    检查1Password后台运行状态及SSH代理功能:

    • Mac:打开1Password → 偏好设置 → SSH代理,确保「启用SSH代理」已勾选
    • Linux:执行systemctl --user status 1password确认服务运行,同时检查SSH代理功能是否开启
  • 验证Agent套接字路径有效性
    检查套接字文件是否存在且权限正常:

    # Mac系统
    ls -la ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
    # Linux系统
    ls -la ~/.1password/agent.sock
    

    若套接字不存在,重启1Password应用重新生成。

  • 强制SSH使用指定密钥
    在对应Host配置块中添加IdentitiesOnly yes,强制SSH仅使用Agent提供的密钥:

    # Mac示例
    Host github.com
      User git
      HostName github.com
      IdentityAgent ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
      IdentitiesOnly yes
    
  • 重置SSH Agent缓存
    清空缓存后重启1Password自动重新加载密钥:

    ssh-add -D
    
  • 检查SSH配置优先级
    确认~/.ssh/config中没有更具体的Host规则覆盖当前配置,避免优先级冲突。

内容的提问来源于stack exchange,提问作者Kai Walter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:38:12