如何使用 ssh 隧道在公网访问内网的 ssh server?
方法一:反向 SSH 隧道(此方法最简单,但是持久性差)
- 在公司内网机器上操作
- 确保公司内网的 SSH 服务器可以正常访问。
- 在公司内网的机器上执行命令(假设公网服务器的 IP 为
public_ip,SSH端口为22,并且已经在公网服务器上创建了用于反向连接的用户user):ssh -R 2222:localhost:22 user@public_ip。这里的2222是在公网服务器上用于接收连接的端口,可以根据需求修改。
- 在公网服务器上操作
- 当需要从公网访问公司内网 SSH 服务器时,在公网服务器上执行:
ssh -p 2222 localhost。
- 当需要从公网访问公司内网 SSH 服务器时,在公网服务器上执行:
方法二:github开源项目 frp (https://github.com/fatedier/frp)
- 下载可执行文件
![]()
2.解压
tar -xvzf 文件路径
- 配置Server
在公网服务器上配置frps.toml文件,一般采用默认的 7000 端口即可
配置完毕后开始运行(建议配合 tmux 来让frps进程一直在后台运行)
./frps -c frps.toml & #使用&符号可让进程在后台一直运行
4.配置 Client
在内网设备上,编辑frpc.toml文件,若想开启ssh,则填写信息如下:

配置好后使用命令(同样建议使用tmux来运行以下命令,以持久化)
./frpc -c frpc.toml &
5.连接
此时在公网服务器的 shell 中就可以使用端口 6000 来访问内网的 ssh 了。
ssh -p 6000 root@localhost


浙公网安备 33010602011771号