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

终端SSH连接服务器报错:Bad configuration option: usekeychain 求助

解决SSH配置中UseKeychain报错的问题

问题原因

你使用的是标准开源版本的OpenSSH 9.1p1,而UseKeychain是苹果定制版OpenSSH独有的配置项,标准版本无法识别该选项,因此读取配置文件时触发错误。SourceTree生成的配置里虽添加了IgnoreUnknown UseKeychain,但该指令仅作用于当前Host块,无法覆盖全局读取逻辑,导致连接非GitHub/Bitbucket主机时仍报错。

修复方案

方案1:将IgnoreUnknown设为全局配置

把IgnoreUnknown UseKeychain移到所有Host块之外,让整个配置文件的未知选项都被忽略:

# 全局配置,放在所有Host块之前
IgnoreUnknown UseKeychain

# --- Sourcetree Generated ---
Host XXXX-Bitbucket
        HostName bitbucket.org
        User XXXX
        PreferredAuthentications publickey
        IdentityFile /Users/me/.ssh/XXXX-Bitbucket
        UseKeychain yes
        AddKeysToAgent yes
# ----------------------------

# --- Sourcetree Generated ---
Host XXXX-GitHub
        HostName github.com
        User XXXX
        PreferredAuthentications publickey
        IdentityFile /Users/me/.ssh/XXXX-GitHub
        UseKeychain yes
        AddKeysToAgent yes
# ----------------------------

方案2:移除UseKeychain选项

如果不需要苹果钥匙串管理SSH密钥,直接删除所有UseKeychain yes行即可:

# --- Sourcetree Generated ---
Host XXXX-Bitbucket
        HostName bitbucket.org
        User XXXX
        PreferredAuthentications publickey
        IdentityFile /Users/me/.ssh/XXXX-Bitbucket
        AddKeysToAgent yes
# ----------------------------

# --- Sourcetree Generated ---
Host XXXX-GitHub
        HostName github.com
        User XXXX
        PreferredAuthentications publickey
        IdentityFile /Users/me/.ssh/XXXX-GitHub
        AddKeysToAgent yes
# ----------------------------

方案3:切换到苹果自带的OpenSSH

Mac系统自带的OpenSSH支持UseKeychain,切换步骤如下:

  1. 查看当前SSH路径:which ssh
  2. 若显示第三方路径(如/usr/local/bin/ssh),执行命令备份并替换:
    sudo mv /usr/local/bin/ssh /usr/local/bin/ssh_backup
    
  3. 重启终端后,再次执行which ssh,若显示/usr/bin/ssh则切换成功,此时连接服务器不会报错。

内容的提问来源于stack exchange,提问作者Another Dude

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:13:13