Linux: SSH隧道 (端口转发)

Linux: SSH隧道 (端口转发)

编程文章jaq1232025-03-18 21:46:1725A+A-

如果我想在本机通过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> 
点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21