文章目录
- 原理
- 如果没有配置ssh,需要先配置ssh
- 免密登录到pc
- 内网穿透流程
- frp自启动
- frps自启动
- frpc自启动
原理
1、在公网中转服务器上面搭建FRP服务器。同时,在内网服务器上面安装FRP客户端。
2、按照UP的FRP客户端配置文件进行说明。7000端口是FRP服务端开放的端口用来使得FRP客户端任意随机端口x1和FRP服务端建立连接和保持连接用的。而其中的remote_port=6000,local_port=22,意思是当FRP客户端在跟FRP服务端建立连接之后,客户端会一直告诉服务器端,请你在中转服务器的FRP服务中把6000端口打开,使得外网的电脑它的随机端口x2端口可以跟中转服务器的6000端口建立连接并传输数据所用。同时,FRP服务器会开启一个随机端口x3和FRP客户端的22端口相连,目的是为了从6000端口收到的数据从x3端口全部转给FRP内网客户端22端口。
3、说的可能有些绕,总共三根线。
第一根:FRP客户端X1端口连FRP服务端7000端口。作用建立跟保持连接。
第二根:外网电脑X2端口连FRP服务端6000端口。作用连接并传输外网到内网的数据。
第三根:FRP服务端X3端口连FRP客户端22端口。作用将6000收到的数据,转到自己身上的X3端口,再传给FRP客户端的22端口。
总的来说开启22端口是为了SSH连接,那么同理要是内网服务器开启HTTP服务的话,那么FRP也可以进行代理的,只需要开启相应的端口就行。
如果没有配置ssh,需要先配置ssh
ssh -V
ssh安装成功
都改成自动
Get-Service -Name *ssh*
查看ssh是否默认监听22号端口
netstat -an | findstr :22
ipconfig
查看电脑的ip地址
局域网测试
ssh "微软账号"@内网ip地址
免密登录到pc
在本地创建公钥和私钥一路enter
ssh-keygen
将本地公钥打开并复制
内网服务器在.ssh中创建authorized_keys.txt,粘贴到这里再将后缀去掉即可。
如果是linux的本地想免密访问也是得先创建公钥私钥ssh-keygen
,然后ls ~/.ssh
查看公钥私钥,再vim .ssh位置的公钥复制粘贴到内网服务器的authorized_keys.txt,具体见如下操作。
这里我有两个本地服务器,公钥都粘贴到这里了。
把后缀txt去掉
更改内网服务器的sshd_config配置
重启sshd服务
然后测试免密登录即可
ssh -p 6000 "微软登录邮箱"@公网ip
内网穿透流程
首先确定中转服务器开启6000和7000端口号
首先运行windows上的内网服务器frpc
填写中转服务器的公网ip地址
运行frp客户端
frpc.exe -c ./frpc.ini
再运行linux的中转服务器frps服务端
./frps -c frps.ini
连接ssh
ssh -p 6000 "微软登录邮箱"@公网ip
输入密码后既可登录成功-》远程连接成功
frp自启动
frps自启动
增加自启动配置
vim /lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/root/frp_0.45.0_linux_amd64/frps -c /root/frp_0.45.0_linux_amd64/frps.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
需要更改的位置,一个是你的linux服务器用户名,另外就是你的frps路径
systemctl daemon-reload
systemctl enable frps
systemctl start frps
查看frps是否自启动成功
systemctl status frpservice
中转服务器frps自启动成功
frpc自启动
新建frpc_autostart.bat
复制下面粘贴到新建的txt中,再去掉txt后缀
不能自己退出
@echo off
if not defined TAG (
set TAG=1
start wt -p "cmd" %0
exit
)
:home
frpc -c frpc.ini
goto home
能自己退出
@echo off
if not defined TAG (
set TAG=1
start wt -p "cmd" %0
exit
)
@REM :home
frpc -c frpc.ini
@REM goto home
exit
点击frpc_autostart.bat
frpc自启动成功
测试连接
ssh -p 6000 "微软登录邮箱"@公网ip