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服务器)信息。