安全地暴露内网服务
通过创建一个只有授权用户能够访问的 SSH 服务代理,实现内网服务的安全暴露。
某些内网服务,如果直接暴露在公网上,可能存在安全风险。使用 stcp(secret tcp)
类型的代理可以让您安全地将内网服务暴露给经过授权的用户,这需要访问者也部署 frpc 客户端。
步骤
-
配置 frps.toml
在 frps.toml 文件中添加以下内容:
bindPort = 7000
-
部署 frpc 客户端并配置
在需要将内网服务暴露到公网的机器上部署 frpc,并创建如下配置:
serverAddr = "x.x.x.x" serverPort = 7000 [[proxies]] name = "secret_ssh" type = "stcp" # 只有与此处设置的 secretKey 一致的用户才能访问此服务 secretKey = "abcdefg" localIP = "127.0.0.1" localPort = 22
-
在访问者机器上部署并配置 frpc
在想要访问内网服务的机器上也部署 frpc,并创建如下配置:
serverAddr = "x.x.x.x" serverPort = 7000 [[visitors]] name = "secret_ssh_visitor" type = "stcp" # 要访问的 stcp 代理的名字 serverName = "secret_ssh" secretKey = "abcdefg" # 绑定本地端口以访问 SSH 服务 bindAddr = "127.0.0.1" bindPort = 6000
-
通过 SSH 访问内网机器
使用以下命令通过 SSH 访问内网机器,假设用户名为 test:
ssh -o Port=6000 test@127.0.0.1