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

Eclipse远程SSH连接认证失败问题排查求助

Eclipse 2023-09 SSH远程连接Auth fail问题排查

问题场景

我使用Eclipse 2023-09配置PHP项目远程同步,通过SSH连接服务器。本地命令行可通过以下命令无密码登录:

ssh -i ~/.ssh/id_ed25519 user@example.com
ssh user@example.com

配置操作

  • 通过向导完成初始配置后,在Preferences->Remote Development->Remote Connections中确认用户名、主机名正确,选择Public key based authentication
  • 在Preferences->General->Network Connection->SSH2中添加id_ed25519私钥

遇到的错误

  1. 首次连接提示Auth fail,错误控制台显示An error occurred loading the SSH2 private keys
  2. 更换RSA 4096/1024位密钥(命令行可正常登录),Eclipse报错:
com.jcraft.jsch.JSchException: invalid privatekey: [B@60eebf90
  1. 按JSch要求生成PEM格式RSA密钥:
ssh-keygen -t rsa -b 4096 -m PEM -f ~/.ssh/id_eclipse

命令行可正常登录,Eclipse也能加载该密钥,但连接仍提示Auth fail,无额外日志输出

排查步骤

1. 确认服务器端公钥部署与权限

  • 登录目标服务器,检查~/.ssh/authorized_keys文件是否包含id_eclipse.pub的完整内容,确保没有多余换行或空格
  • 修正文件权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
    SSH对权限要求严格,权限过宽会直接拒绝密钥认证

2. 核对Eclipse SSH配置细节

  • 打开Preferences->General->Network Connection->SSH2:
    • 切换到Known Hosts标签,确认目标服务器的主机密钥已存在;若不存在,先通过命令行ssh user@example.com确认主机密钥,重启Eclipse后再尝试
    • 在Private Keys标签中,移除所有无关私钥,仅保留id_eclipse,避免密钥冲突
  • 检查Remote Connections配置中,是否误填了端口号(默认22,若服务器端口非22需手动指定)

3. 验证JSch版本与兼容性

Eclipse内置的JSch库可能存在版本限制:

  • 查看Eclipse安装目录下plugins文件夹,找到名称包含com.jcraft.jsch的jar包,确认版本;若版本低于0.1.55,可通过Eclipse Marketplace搜索并更新JSch插件
  • 若无法更新插件,可手动替换该jar包(需下载对应版本的JSch jar,替换后重启Eclipse)

4. 启用详细调试日志

  • 打开Eclipse,依次点击Run->Debug Configurations,创建新的Remote Java Application配置:
    • 在Connection Properties中设置主机为localhost,端口为Eclipse的调试端口(默认8000,可在eclipse.ini中添加-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000开启)
    • 在VM arguments中添加-Dcom.jcraft.jsch.debug=DEBUG
  • 启动调试后尝试连接服务器,查看控制台输出的详细日志,定位认证失败的具体环节(如服务器是否接收密钥、是否返回错误码)

5. 检查服务器SSH服务配置

  • 登录服务器,编辑/etc/ssh/sshd_config:
    • 确保PubkeyAuthentication yes未被注释
    • 确认AuthorizedKeysFile路径为~/.ssh/authorized_keys(默认配置)
    • 若服务器启用SELinux,执行setenforce 0临时关闭,再测试连接;若恢复正常,需调整SELinux策略允许SSH密钥认证
  • 重启SSH服务:systemctl restart sshd

内容的提问来源于stack exchange,提问作者Lars Hanke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:53:39