frp 使用阿里云对SSH 内网穿透
官网示例是针对端口全开的公网ip, 而阿里云是有安全策略, 需要开放端口.
frp用起来算是及其简单惬意了.
- 阿里云服务器和内网SSH服务器分别下载frp release, 目前最新版本0.38.0
- 我用的阿里云服务器是CentOS, 其他linux也类似. 登录阿里云服务器这一步安装到
systemd
系统服务. 先进入frp解压目录, 然后是如下步骤:cp systemd/*.* /usr/lib/systemd/system/ cp frps /usr/bin/ chmod +x /usr/bin/frps mkdir /etc/frp cp frps.ini /etc/frp/ systemctl start frps systemctl status frps
最后一条命令可以看到frps是否启动成功.
可以看一下cat /etc/frp/frps.ini
的内容, 默认是:[common] bind_port = 7000
这时候可以看一下frps的端口占用:
#netstat -tunlp|grep frps tcp6 0 0 :::7000 :::* LISTEN 4928/frps
- 登录阿里云服务器后台
aliyun.com
, 在ECS服务器->实例->安全组
中的入方向
添加一条TCP记录, 端口号写一个区间:7000/7100
.后面frp配置的所有端口号都要在这个范围内才能访问. 授权对象为0.0.0.0/0
- SSH服务器解压缩frp, 修改目录中的
frpc.ini
,假设服务器地址是x.x.x.x
,如下:[common] server_addr = x.x.x.x server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7001
运行`frpc`
5.这时候可以回到阿里云服务器看一下frps的端口占用,发现服务器打开了7001端口:
netstat -tunlp|grep frps
tcp6 0 0 :::7000 ::: LISTEN 4928/frps
tcp6 0 0 :::7001 ::: LISTEN 4928/frps
6. SSH客户端连接SSH服务器
ssh username@x.x.x.x -p 7001 -oPort=7000