MrJun's Blog

vscode远程连接使用frp内网穿透安全配置

1 问题引入

由于经常使用vscode连接组里服务器进行远程操作,为了方便远程开发遂使用自己搭建的frp内网穿透将服务器的ssh服务穿透到公网上,导致服务器的ssh端口常常被扫描爆破。

网上查询到常使用的方案有:

1、设置密钥等里等方式增加破解门槛,但是由于服务器具有其他账户,部分账户账号密码简单容易被爆破;

2、使用fail2ban限制IP登陆次数,由于该软件是直接读取日志进行操作,且FRP穿透后的流量均为统一IP,封锁IP直接把自己封了,不可取;

这些操作均不能解决使用frp内网穿透时的安全保护问题,或者解决方案不够优雅。

2 解决方案

针对内网穿透的特殊性,为了便捷操作,我们可以直接在运行内网穿透的服务端(frps)的服务器上进行操作,具体采取以下两种方案解决问题:

1、直接限制IP段入站白名单

2、通过内网穿透服务器做跳板

首先限制frp穿透的端口白名单为本地127.0.0.1;

VSCode remote ssh配置:

Host XXX
   HostName 127.0.0.1
   User xxx
   Port 2323
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/xx
   ProxyJump FrpServer

Host FrpServer
   HostName xx.xx.xx.xx
   User root
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/xx

说明:

HostName:跳板机(frps服务器)本地ip,直接填写127.0.0.1;

Port:frp穿透的端口

ProxyJump FrpServer:FrpServer配置为跳板机(frps服务器)信息。