编程技术分享平台

网站首页 > 技术教程 正文

Linux: SSH隧道 (端口转发)(ssh隧道远程转发)

xnh888 2025-06-13 17:35:35 技术教程 6 ℃ 0 评论

如果我想在本机通过localhost的2521端口直接访问远程数据库,可以通过SSH隧道进行端口转发来实现。

本机运行如下命令:

ssh -L localhost:2521:192.168.3.50:1521 -i ~/env/id_rsa oracle@129.154.214.178

其中,

localhost:2521 - 指定通过本机的2521端口访问

192.168.3.50 - 远程数据库的私有IP

1521 - 远程数据库的监听端口

-i ~/env/id_rsa - 指定私钥 (PEM格式证书,通过ssh-keygen直接生成)

129.154.214.178 - 远程数据库公有IP

运行上述命令后,我们可以查看一下,2521端口已经处于监听状态了:

hysunhe@hysunpc:~$ lsof -i:2521
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssh     9796 hysunhe    4u  IPv6 119303      0t0  TCP ip6-localhost:2521 (LISTEN)
ssh     9796 hysunhe    5u  IPv4 119304      0t0  TCP localhost:2521 (LISTEN)

再用SQLcl客户端工具连一下数据库(通过localhost 2521连),发现能正常连上,说明对localhost:2521的访问已经转发到了对数据库服务器的192.168.3.50:1521访问:

hysunhe@hysunpc:~$ sql sys/BotWelcome123##@localhost:2521/PDB1.regionalpublics.hysunhevcn.oraclevcn.com as sysdba


SQLcl: Release 22.3 Production on Mon Mar 06 19:56:22 2023

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.18.0.0.0

SQL> show pdbs;

   CON_ID CON_NAME    OPEN MODE     RESTRICTED    
_________ ___________ _____________ _____________ 
        3 PDB1        READ WRITE    NO            
SQL> 

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表