codebuddy远程ssh连接失败本质是底层ssh通道未建立,需按网络→配置→服务→认证→环境五层递进排查:先终端直连验证通路,再查配置字段与config语法,确认远程sshd运行及监听0.0.0.0,排除代理/防火墙干扰,最后通过开发者工具console日志定位enotfound/econnrefused等具体错误。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

CodeBuddy 远程 SSH 连接失败,本质是底层 SSH 通道未建立成功。排查需从网络、配置、服务、认证、环境五层递进,不依赖 IDE 界面干扰,优先用终端验证真实连通性。
一、先用终端直连验证基础通路
绕过 CodeBuddy,确认系统级 SSH 是否可用:
- 打开终端,执行:
ssh -p [端口] [用户名]@[IP地址](如端口为默认22可省略-p) - 观察返回:
- Connection refused → 远程 SSH 服务未运行或端口错误
- Connection timed out → 网络不通、防火墙拦截或目标主机宕机
- Permission denied (publickey) → 密钥未匹配或未加载
-
Host key verification failed → 首次连接未确认主机指纹(需手动 ssh 一次并输
yes)
二、检查 CodeBuddy 的 SSH 配置项
在 CodeBuddy 中添加连接时,字段必须拆解填写,不能粘贴整条命令:
CodeBuddy Code CLI 的安装、配置与使用指南。CodeBuddy Code 是腾讯推出的 AI 驱动 CLI 编程助手,支持自然语言驱动开发。 - 必备触发词:CodeBuddy, codebuddy, AI CLI, Tencent AI coding, @tencent-ai/codebuddy-code, terminal AI assistant - 适用场景:安装 CodeBuddy CLI、配置 CodeBuddy、使用 CodeBuddy 命令、排查 CodeBuddy 问题
-
主机名:只填 IP 或域名(如
192.168.1.100),不要带用户名或端口 -
SSH 端口:单独填数字(如
22或自定义端口),勿写成:22 -
身份文件路径:必须是本机私钥的绝对路径(如
/Users/xxx/.ssh/id_rsa),不能是.pub文件 - 若使用
~/.ssh/config,请确保语法规范:无中文符号、无 Tab 缩进、IdentityFile为绝对路径
三、确认远程服务状态与监听范围
远程服务器上执行以下命令:
- 查 SSH 服务是否运行:
systemctl status sshd(Ubuntu/CentOS)或service ssh status - 查监听地址:
ss -tlnp | grep :[端口],重点看是否为0.0.0.0:[端口];若显示127.0.0.1:[端口],说明仅本地可连,需修改/etc/ssh/sshd_config中的ListenAddress并重启服务 - 检查用户主目录权限:
ls -ld ~应为755或700,~/.ssh必须是700,authorized_keys必须是600
四、排除代理与防火墙干扰
两类常见隐形阻断:
-
代理冲突:CodeBuddy 默认可能启用系统代理。进入设置搜索
codebuddy.remote.SSH.enableDynamicForwarding,设为false后重试 -
防火墙/安全组:
- 本地:macOS 系统偏好→防火墙→允许 ssh;Windows 检查“高级安全 Windows 防火墙”入站规则
- 远程(尤其云服务器):确认安全组已放行对应端口(如 TCP 22),且不是仅限内网 IP
五、查看 CodeBuddy 日志定位具体错误
打开开发者工具获取真实报错:
- 菜单栏 → 帮助 → 切换开发者工具 → 切换到 Console 标签页
- 尝试连接,观察红色错误信息,重点关注:
-
ENOTFOUND:DNS 解析失败(主机名填错或网络 DNS 异常) -
ECONNREFUSED:端口拒绝连接(服务未启或端口不对) -
ETIMEDOUT:超时(网络路径中断或中间设备丢包) - 含
known_hosts或permission denied字样:密钥或主机指纹问题
-
- 也可在输出面板中查看 Remote-SSH 日志流,比弹窗提示更详细










