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

如何在Oracle SQL Developer中通过SSH网关连接数据库并绕过VPN?

在Oracle SQL Developer中通过SSH跳转连接内网Oracle数据库

第一步:确认内网数据库机器上的Oracle监听端口

因为你不知道数据库端口,先通过SSH登录dbmachine,执行以下命令获取:

  • 执行 lsnrctl status,在输出的Listening Endpoints Summary部分找到监听端口(默认通常是1521)
  • 或者用Linux命令查看:netstat -tulpn | grep LISTEN | grep oracle
  • 也可以查看Oracle配置文件:cat $ORACLE_HOME/network/admin/tnsnames.ora,里面的连接字符串会包含端口信息

方法一:通过本地SSH端口转发实现(简单直接)

利用你已有的SSH配置,在本地终端执行端口转发命令,将本地端口映射到dbmachine的Oracle端口:

ssh -L 本地端口:dbmachine.company.org:Oracle端口 dbmachine

比如Oracle端口是1521,本地也用1521:

ssh -L 1521:dbmachine.company.org:1521 dbmachine

执行后保持终端窗口打开,不要关闭,这条命令会通过你的ProxyJump配置自动走gateway跳转。

然后在SQL Developer中新建数据库连接:

  • Connection标签页:
    • Hostname:填localhost
    • Port:填刚才用的本地端口(比如1521)
    • SID/Service Name:根据你在dbmachine上sqlplus的登录方式填写,可通过sqlplus / as sysdba后执行select name from v$database;获取SID,或select value from v$parameter where name='service_names';获取服务名
    • 填写数据库的用户名和密码
  • 直接点击Test测试连接,成功后保存即可。

方法二:让SQL Developer直接使用系统SSH(无需手动保持终端)

SQL Developer可以调用系统的SSH客户端,直接读取你~/.ssh/config里的ProxyJump配置,步骤如下:

  1. 打开SQL Developer,依次进入 Tools > Preferences > Database > Advanced
  2. 在SSH Client选项中,选择Use system SSH(默认是Use built-in SSH),点击OK保存设置

然后新建数据库连接:

  1. 切换到SSH标签页,勾选Use SSH Tunnel
    • Host:填dbmachine(对应你SSH配置里的Host名,系统SSH会自动处理ProxyJump跳转)
    • Port:填22(默认SSH端口)
    • Username:填marc(你的SSH用户名)
    • 认证方式:如果是密钥登录,选择Use Key File并指向你的私钥文件;如果是密码登录,直接填写SSH密码
  2. 切换到Connection标签页:
    • Hostname:填localhost
    • Port:填第一步查到的Oracle监听端口
    • SID/Service Name:同上填写对应的数据库标识
    • 填写数据库的用户名和密码
  3. 点击Test测试连接,成功后保存连接配置。

内容的提问来源于stack exchange,提问作者marc.soda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:15:34