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

通过SSH隧道在DBeaver连接Oracle数据库失败求助

SSH隧道+DBeaver Oracle连接失败的排查思路
  • 核对本地端口映射匹配度
    你的SSH命令是将本地55444端口转发至远程{remoteHostName}:1521,所以DBeaver的Oracle连接配置必须满足:

    • 主机地址填localhost或127.0.0.1
    • 端口填55444(而非远程的1521)
      同时检查本地端口是否被占用:Windows执行netstat -ano | findstr :55444,Linux执行lsof -i :55444,若被占用则更换本地端口(同步更新SSH命令和DBeaver配置)。
  • 验证SSH隧道的实际连通性
    不要只依赖DBeaver的隧道测试,手动验证:

    • 在VM上执行telnet localhost 55444,能连通说明隧道转发正常;连不上则重新执行SSH命令(去掉-f和-N参数),查看是否有报错(比如密钥权限错误、远程主机防火墙拦截)。
    • 登录SSH服务器后,测试能否访问数据库:telnet {remoteHostName} 1521,若连不上,说明SSH服务器到数据库的链路有问题,和DBeaver无关。
  • 确认Oracle服务名/SID一致性
    DBeaver中填写的Oracle服务名/SID必须和你批处理脚本查询时用的完全一致。可登录SSH服务器执行lsnrctl status,查看监听的服务名,确保DBeaver配置匹配。

  • 检查DBeaver SSH隧道配置细节
    确保DBeaver的SSH配置和批处理命令完全对齐:

    • 远程主机填{hostName},端口设为2006
    • 认证方式选「密钥文件」,导入你的{keyFile}(Windows注意密钥文件权限,Linux需设为chmod 600 {keyFile})
    • 端口转发类型选「本地」,本地端口55444,目标主机{remoteHostName},目标端口1521
      禁用「动态端口转发」选项。
  • 排查防火墙与安全组限制

    • VM本地防火墙:临时关闭或添加规则允许55444端口的本地通信
    • SSH服务器防火墙:确认允许VM IP访问2006端口,同时允许SSH服务器访问数据库的1521端口
    • 数据库服务器安全组:确认允许SSH服务器IP访问1521端口

内容的提问来源于stack exchange,提问作者Henrik Poulsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:32:38