Rocky Linux 9 配置SSH动态端口转发实现远程网络访问

在Rocky Linux 9 中通过SSH动态端口转发可以将远程主机(harbor-rocky9-shanghai-area2)的网络流量转发至本地(git-rocky9-shanghai-area2),使本地服务器能够通过加密的SSH协议访问远程网络资源,适用于安全地使用本地应用程序访问受保护的远程服务。

通过SSH动态端口转发,可以在本地建立一个SOCKSPROXY,从而让本地命令行工具(curl、wget等)或图形界面程序(Git、Chrome等)通过安全加密的SSH协议访问远程主机所在的网络(同一地域下的VPC网络所在的云实例服务)。这种技术适合于访问纯内网服务器(或无公网IP的云实例)等受限网络资源的场景。

配置SSH动态端口转发

在阿里云Git服务器(git-rocky9-shanghai-area2)上,通过SSH会话开启动态端口转发功能:


[root@git-rocky9-shanghai-area2 ~]# ssh -D 8888 -N -f root@harbor-rocky9-shanghai-area2 # 访问无公网IP云服务器ECS实例,这里我已经提前写入了hosts本地解析和ssh-copy-id

这里,-D 8888 指定了本地服务器上的8888端口作为SOCKS5 PROXY端口;-N 表示不执行任何远程命令,仅进行端口转发;-f 参数使得SSH命令在后台运行,不会阻塞终端。

配置应用程序使用SOCKSProxy

浏览器:Firefox或Chrome可通过安装社区插件如Proxy SwitchyOmega或FoxyProxy来配置SOCKS5PROXY,将PROXY地址设置为 localhost:8888

命令行工具:使用curl、wget等命令行工具时,可通过–socks5-hostname和–socks5选项指定SOCKS5PROXY,如:

[root@git-rocky9-shanghai-area2 ~]# curl --socks5-hostname localhost:8888 https://harbor.ponfey.com


上一篇
下一篇