写在前面
服务器端: centos7 (搬瓦工)
内网机器: Mac
结果: 搭建 ssh 及 stcp 连接
评价: 通过 ssh 连接简单方便,一条命令ssh -oPort=6000 [email protected]
就能连接主机,但速度较慢,有比较大的延迟。通过 stcp 连接比较繁琐,需要在要访问这个服务的机器上有 frp 并配置好,连接前需要先启动 frpc 连接服务器,然后再用命令 ssh -oPort=6000 [email protected]
连接。但响应速度相比 tcp 有较大改善,并且较为安全。
服务器端
- 下载 frp (0.27.0)
wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz
- 解压
tar -zxvf frp_0.27.0_linux_amd64.tar.gz
- 进入解压目录
cd frp_0.27.0_linux_amd64
- 配置服务器
vi ./frps.ini
[common]
#通信端口 默认 7000
bind_port = 7000
#udp端口默认7001
bind_udp_port = 7001
#kcp端口
kcp_bind_port = 7000
# vhost端口默认为:80 (web服务)
vhost_http_port = 80
# vhost(https)端口默认为:443
vhost_https_port = 443
#面板地址 可默认为:0.0.0.0 无需进行修改
dashboard_addr = 0.0.0.0
#面板访问端口 可修改 默认为:7500
dashboard_port = 7500
#面板访问账号默认为:admin
dashboard_user = admin
#面板访问密码默认:admin
dashboard_pwd = admin
# 特权密码默认:12345678 可自行修改
token = 12345678
访问 http://xx.xx.xx.xx:7500/ 查看是否出现面板,并验证配置(xx.xx.xx.xx 是 IP)
- 新建一个会话窗口(避免关闭SSH后frp服务停止)
screen -S frp
- 启动 frps 服务
./frps -c ./frps.ini
- 退出会话窗口保持frps服务运行
Ctrl+A+D
内网机器
- 下载 frp (0.20.0),解压,进入解压目录 ~ 同上
- 配置内网机器(xx.xx.xx.xx 是IP,需要修改)
vi ./frpc.ini
[common]
#服务器域名&IP
server_addr = xx.xx.xx.xx
#通信端口,必须和frps一致
server_port = 7000
#特权密码必须和frps一致
token = 12345678
[ssh]
#连接协议
type = tcp
#内网服务器ip
local_ip = 127.0.0.1
#ssh默认端口号
local_port = 22
#自定义的访问内部ssh端口号 s
remote_port = 6000
[secret_ssh]
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
- 后台启动 frpc
nohup ./frpc -c ./frpc.ini &
stcp 连接机器(win10)
- 下载 frp (0.20.0),解压,进入解压目录 ~ 同上
- 配置要通过 stcp 连接服务的机器上的 frp(xx.xx.xx.xx 是IP,需要修改)
vi ./frpc.ini
# frpc.ini
[common]
server_addr = xx.xx.xx.xx
server_port = 7000
token = 12345678
[secret_ssh_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 绑定本地端口用于访问 ssh 服务
bind_addr = 127.0.0.1
bind_port = 6000
- 启动 frpc
frpc.exe -c frpc.ini