0. 前言:为什么要做这个?(小白也能懂的场景)
需求场景:
你家里/实验室有一台性能超强的台式机(或服务器),能跑深度学习模型、大型编程项目这些“费力气”的任务;而你手里只有一台轻薄本,出门在咖啡厅、出差的时候,想远程操控家里的高性能电脑干活,或者监控项目运行情况。
痛点:
家里的宽带就像“没有门牌号的房子”,没有“公网IP”这个唯一标识,外面的轻薄本根本找不到家里的电脑。
解决方案:FRP(Fast Reverse Proxy)内网穿透
简单说就是找个“中间中转站”——一台有公网IP(相当于有公开门牌号)的云服务器,搭建一条“隐形隧道”:
-
家里的高性能电脑主动连接到云服务器;
-
你的轻薄本也连接到同一个云服务器;
-
云服务器把两头连起来,轻薄本就能通过隧道操控家里的电脑了。
第一阶段:云端准备 —— 阿里云服务器购买与配置(一步都不落地教)
要实现穿透,第一步必须有个“有门牌号的中转站”,也就是云服务器。这里以最常用的阿里云为例,其他平台(腾讯云、华为云)操作逻辑差不多。
1. 阿里云服务器购买步骤(小白专属流程)
-
打开阿里云官网:www.aliyun.com/,点击右上角【注册/登录】,用手机号注册并完成实名认证(必须实名,否则买不了服务器);
-
登录后,在首页搜索框输入“云服务器ECS”,点击搜索结果里的【云服务器ECS】进入购买页;
-
选择购买配置(重点!按下面选,省钱又够用):
-
【计费方式】:选【按量付费】(适合新手测试,用多少算多少,不用了随时停,避免浪费;长期用可以后续转“包年包月”);
-
【地域】:选离你家最近的地域!比如你在上海,就选【华东2(上海)】;在广州就选【华南1(深圳)】—— 地域越近,后续连接速度越快;
-
【实例规格】:选【突发性能实例】(t6系列),具体选【t6-c1m1.small】(1核1G内存)—— 只做FRP中转,这个配置完全够用,性价比最高;
-
【镜像】:选【公共镜像】→ 【Ubuntu】→ 版本选【Ubuntu 22.04 64位】(Linux系统做中转稳定,资源占用少,后续配置也简单);
-
【存储】:选【云盘】→ 【高效云盘】,容量选【20GB】(足够装FRP和系统文件,多了浪费钱);
-
【带宽】:选【公网带宽】→ 【按使用流量】,带宽峰值选【3Mbps】(3M足够远程操控、传输小文件,速度流畅,流量用多少算多少);
-
【安全组】:先选【默认安全组】(后续再修改,不用在这里纠结);
-
【登录凭证】:选【自定义密码】,设置登录服务器的密码(记住这个密码!后续要用):
-
用户名默认是【root】(Linux系统最高权限账户);
-
密码要求:至少8位,包含大写字母、小写字母、数字、特殊符号(比如Root@123456),记在小本本上,别忘!
-
-
【实例名称】:随便填,比如“FRP中转服务器”,方便后续识别;
-
点击右下角【立即购买】,确认订单后支付(按量付费首次支付会扣少量保证金,后续按实际使用扣费)。
-
-
购买成功后,回到阿里云控制台:点击顶部导航栏【控制台】→ 左侧菜单【云服务器ECS】→ 【实例】,就能看到你买的服务器了,记住服务器的【公网IP】(后续所有配置都要用到这个IP,比如223.4.156.78)。
2. 必做!配置安全组(防火墙)—— 90%新手栽坑的地方
安全组就像服务器的“大门”,默认是关着的,必须手动打开需要的端口,否则后续FRP无法连接。操作步骤:
-
在阿里云ECS实例页面,找到你的服务器,点击右侧【操作】栏的【更多】→ 【网络和安全组】→ 【配置安全组】;
-
在弹出的窗口中,点击【配置规则】;
-
切换到【入方向】标签页(入方向就是允许外部设备连接服务器的规则),点击【手动添加】,依次添加以下4条规则(每条规则填完点【确定】,再添加下一条):
-
第一条(FRP服务端监听端口):
-
【规则方向】:入方向(默认);
-
【授权策略】:允许(默认);
-
【协议类型】:TCP(下拉选择);
-
【端口范围】:7000/7000(只开放7000端口);
-
【授权对象】:0.0.0.0/0(允许所有IP连接,新手直接填这个,简单方便);
-
【描述】:FRP服务端端口(可选,方便后续识别)。
-
-
第二条(FRP控制台端口,可选):
-
【协议类型】:TCP;
-
【端口范围】:7500/7500;
-
【授权对象】:0.0.0.0/0;
-
【描述】:FRP控制台端口。
-
-
第三条(映射SSH端口,核心!):
-
【协议类型】:TCP;
-
【端口范围】:8081/8081(这个端口可以自己改,比如8888,但必须和后续FRP配置一致,记好这个数字);
-
【授权对象】:0.0.0.0/0;
-
【描述】:SSH映射端口。
-
-
第四条(服务器SSH登录端口):
-
【协议类型】:TCP;
-
【端口范围】:22/22(Linux服务器默认SSH登录端口,必须开放,否则进不了服务器);
-
【授权对象】:0.0.0.0/0;
-
【描述】:SSH登录端口。
-
-
-
添加完成后,入方向规则列表里会显示这4条规则,确认都是“允许”状态,安全组配置就完成了。
第二阶段:搭建隧道 —— FRP配置(云端+本地,一步一步复制操作)
FRP分为两部分:frps(服务端,装在阿里云服务器上)和frpc(客户端,装在家里的Windows高性能电脑上)。我们先配置云端,再配置本地。
1. 云服务器端(frps)配置(Linux系统)
首先要登录阿里云服务器,然后下载、配置FRP服务端。
步骤1:登录阿里云服务器(Windows电脑登录方法)
-
打开Windows自带的【命令提示符】或【PowerShell】(按Win+R键,输入cmd或powershell,回车);
-
在命令行输入登录命令(复制后修改IP,再粘贴):
ssh root@你的云服务器公网IP比如你的公网IP是223.4.156.78,就输入:ssh root@223.4.156.78 -
第一次登录会提示“Are you sure you want to continue connecting (yes/no)?”,输入【yes】(小写),回车;
-
然后提示输入密码,就是你购买服务器时设置的root密码(输入时密码不显示,直接输完回车即可);
-
如果出现“root@xxx:~#”的提示符,说明登录成功了!
步骤2:下载并解压FRP服务端
-
先进入服务器的/usr/local目录(专门放软件的目录,规范且不易出错),输入命令:
cd /usr/local回车后,提示符会变成“root@xxx:/usr/local#”。
-
下载FRP安装包(用最新稳定版,这里以v0.52.3为例,后续如果有新版本,可替换链接中的版本号):
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz输入后回车,等待下载完成(如果提示“wget: command not found”,先输入
apt update && apt install -y wget安装wget,再重新执行上面的下载命令)。 -
解压下载的压缩包,输入命令:
tar -zxvf frp_0.52.3_linux_amd64.tar.gz回车后会生成一个文件夹“frp_0.52.3_linux_amd64”。
-
进入解压后的文件夹,输入命令:
cd frp_0.52.3_linux_amd64此时进入了FRP的安装目录。
步骤3:配置frps.toml(服务端配置文件)
-
用Linux自带的nano编辑器打开配置文件,输入命令:
nano frps.toml回车后进入编辑界面。
-
删除文件里的所有默认内容,复制下面的配置(直接复制粘贴即可):
# frps.toml 服务端配置 bindPort = 7000 # 服务端监听端口,必须和安全组开放的7000端口一致 auth.token = "123456" # 身份验证令牌,自己设个复杂的,比如abc123XYZ!@#,后续客户端要和这个一致 dashboardPort = 7500 # 控制台端口,可选,用于查看FRP运行状态 dashboardUser = "admin"# 控制台登录用户名 dashboardPwd = "admin123" # 控制台登录密码说明:auth.token建议改得复杂点,避免被别人恶意连接,记好这个令牌,后续客户端要用到。
-
保存并退出:按键盘【Ctrl+O】(保存),回车确认;再按【Ctrl+X】(退出)。
步骤4:启动FRP服务端
-
在FRP安装目录下,输入启动命令:
./frps -c frps.toml回车后,如果出现“start frps success”的提示,说明服务端启动成功了!
-
验证控制台(可选):在浏览器输入“http://你的云服务器公网IP:7500”,输入配置的用户名(admin)和密码(admin123),如果能看到FRP的运行状态页面,说明服务端配置没问题。
-
重要提示:当前运行的FRP服务会随着命令行关闭而终止。如需实现后台持续运行(即使关闭终端也不受影响),请按以下步骤操作:
-
首先按Ctrl+C终止当前运行的FRP进程
-
然后执行命令:
nohup ./frps -c frps.toml & -
最后输入【exit】退出服务器登录即可,FRP服务将继续在后台运行
-
2. 本地服务器端(frpc)配置(家里的Windows电脑)
家里的高性能电脑是Windows系统,需要下载FRP客户端,配置后连接阿里云的服务端。
步骤1:下载FRP客户端
-
打开浏览器,访问FRP的GitHub下载页:github.com/fatedier/fr…;
-
找到最新的稳定版(比如v0.52.3),下载Windows版本的压缩包:点击“frp_0.52.3_windows_amd64.tar.gz”(注意是windows_amd64,对应64位Windows系统);
-
下载完成后,右键压缩包,选择【解压到当前文件夹】,得到一个文件夹“frp_0.52.3_windows_amd64”,把这个文件夹移动到桌面(方便后续操作)。
步骤2:配置frpc.toml(客户端配置文件)
-
打开桌面的FRP客户端文件夹,找到“frpc.toml”文件,右键选择【编辑】(用记事本打开即可);
-
删除文件里的所有默认内容,复制下面的配置(重点修改3处:云服务器IP、令牌、映射端口,必须和服务端一致):
# frpc.toml 客户端配置
serverAddr = "x.x.x.x" # 替换成你的阿里云服务器公网IP,比如223.4.156.78
serverPort = 7000 # 对应服务端的bindPort,必须是7000
auth.token = "123456" # 必须和服务端的auth.token一致,比如你改的abc123XYZ!@#
[[proxies]]
name = "ssh-home" # 代理名称,随便填,方便识别
type = "tcp" # 协议类型,固定填tcp
localIP = "127.0.0.1" # 本地IP,固定填127.0.0.1(代表本机)
localPort = 22 # 本地Windows的SSH端口,固定填22
remotePort = 8081 # 映射到云服务器的端口,必须和安全组开放的8081端口一致
- 修改完成后,按【Ctrl+S】保存,关闭记事本。
步骤3:启动FRP客户端
-
打开FRP客户端文件夹,在文件夹空白处,按住【Shift】键+右键,选择【在此处打开PowerShell窗口】(或“在此处打开命令窗口”);
-
在PowerShell中输入启动命令:
.\frpc.exe -c frpc.toml输入后回车;
-
如果出现“start proxy success”的提示,说明客户端连接服务端成功,隧道已经打通了!
-
注意:此时PowerShell窗口不能关闭,关闭就会断开连接。如果想让客户端后台运行(关闭窗口也不影响),可以创建批处理文件,后续再讲。
第三阶段:本地基建 —— Windows OpenSSH Server安装与避坑(核心!必须做好)
隧道打通后,还需要让家里的Windows电脑开启“SSH服务”—— 相当于给电脑开个“远程大门”,轻薄本才能通过隧道进来。这是最容易报错的环节,按下面的步骤来,避开所有坑。
1. 安装OpenSSH Server(Windows自带,不用装第三方软件)
Windows 10/11都自带OpenSSH Server,直接通过系统设置安装,步骤:
-
方法一:通过设置安装(简单直观)
-
按【Win+I】键打开【设置】;
-
点击【应用】→ 【可选功能】;
-
点击页面顶部的【添加功能】;
-
在搜索框输入“OpenSSH Server”,找到后点击选中,然后点击【安装】;
-
等待安装完成(1-2分钟),安装成功后,会显示在“已安装的功能”列表里。
-
-
方法二:通过PowerShell安装(更快捷,推荐)
-
以管理员身份打开PowerShell:按【Win+X】,选择【Windows PowerShell (管理员)】(Windows 11是【终端(管理员)】);
-
输入安装命令:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0回车后等待安装,出现“状态:成功”说明安装完成。
-
2. 避坑一:修改SSH配置文件(否则管理员登录不了)
默认配置对管理员不友好,必须修改,否则用root权限账户登录会报错。步骤:
-
打开文件资源管理器,在地址栏输入“C:\ProgramData\ssh”,回车(注意:ProgramData是隐藏文件夹,需要先开启“显示隐藏项目”—— 点击顶部【查看】,勾选【隐藏的项目】);
-
找到“sshd_config”文件,右键选择【编辑】(用记事本打开);
-
找到以下配置项,修改并保存:
-
找到“PasswordAuthentication no”,把“no”改成“yes”(允许用密码登录,新手必改,否则需要配置密钥,很复杂);
-
找到文件最后两行:
# Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
在这两行前面加上【#】注释掉(已经有#就不用改),这一步非常重要!否则管理员组用户无法用密码登录。
-
-
保存修改:按【Ctrl+S】,关闭记事本。
3. 避坑二:权限问题导致“Connection closed”(连接被拒绝)
OpenSSH对密钥文件的权限要求极其严格,不小心修改了权限,就会拒绝连接。不用手动改权限,直接让系统重新生成密钥文件,一步解决:
-
以管理员身份打开PowerShell;
-
依次输入以下3条命令(每条命令输完回车):
# 停止SSH服务 Stop-Service sshd# 删除所有旧的密钥文件 Remove-Item C:\ProgramData\ssh\ssh_host*key #重新启动SSH服务,系统会自动生成权限正确的新密钥 Start-Service sshd -
执行完成后,SSH的权限问题就解决了。
4. 避坑三:端口22被占用(服务启动了也连不上)
如果之前调试过SSH,可能导致22端口被卡死,需要找到占用进程并杀死:
-
以管理员身份打开PowerShell;
-
输入命令,查找占用22端口的进程ID(PID):
netstat -ano | findstr :22回车后,会显示类似“TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 1234”的内容,其中1234就是PID;
-
输入命令,强制杀死该进程(把1234换成查到的PID):
taskkill /F /PID 1234回车后提示“成功: 已终止PID为1234的进程”,就完成了;
-
重新启动SSH服务:
Start-Service sshd
5. 配置Windows远程登录账户(避免后续登录失败)
建议创建一个专门用于远程登录的管理员账户,设置密码永不过期,避免过段时间密码过期无法登录。
-
以管理员身份打开PowerShell;
-
创建新账户(比如账户名win_admin),输入命令:
New-LocalUser -Name "win_admin" -FullName "远程登录账户" -Description "用于远程访问家里的AI服务器"回车后,会提示输入密码,设置一个复杂密码(比如Win@123456),输入两次确认;
-
把新账户添加到管理员组(获得最高权限):
Add-LocalGroupMember -Group "Administrators" -Member "win_admin" -
设置密码永不过期:
Set-LocalUser -Name "win_admin" -PasswordNeverExpires $true -
记住这个账户名(win_admin)和密码,后续用这个账户远程登录。
第四阶段:最终连接 —— 用笔记本远程访问家里的AI服务器
前面的配置都做好后,现在用你的轻薄本(Windows/Mac都可以),就能随时随地连接家里的电脑了。
1. 基本连接步骤(Windows轻薄本)
-
确保家里的高性能电脑:① 已启动FRP客户端(显示start proxy success);② SSH服务已启动;
-
打开轻薄本的【PowerShell】或【命令提示符】;
-
输入连接命令,格式:
ssh 用户名@云服务器公网IP -p 映射端口 -
替换成你的信息,比如:
ssh win_admin@223.4.156.78 -p 8081说明:win_admin是家里电脑的远程账户名,223.4.156.78是阿里云公网IP,8081是映射端口(和安全组、FRP配置一致); -
第一次登录会提示“Are you sure you want to continue connecting (yes/no)?”,输入【yes】回车;
-
输入家里电脑远程账户的密码(比如Win@123456),回车;
-
如果出现“win_admin@DESKTOP-XXXXXX C:\Users\win_admin>”的提示符,说明连接成功了!现在你就能在轻薄本上操控家里的高性能电脑了。
2. 避坑:PowerShell语法错误(用户名带空格、@符号报错)
如果你的Windows账户名带有空格(比如“AI Server”),直接输入命令会报错,用下面两种正确姿势:
-
正确姿势A(推荐):用-l参数指定用户名
ssh -l "AI Server" -p 8081 223.4.156.78说明:-l后面跟带空格的用户名,用双引号括起来,再指定端口和IP;
-
正确姿势B:把用户名和IP一起用双引号括起来
ssh "AI Server@223.4.156.78" -p 8081
3. Mac轻薄本连接方法(补充)
-
打开Mac的【终端】(在启动台的“其他”文件夹里);
-
输入和Windows一样的连接命令:
ssh win_admin@223.4.156.78 -p 8081 -
后续步骤和Windows一样,输入yes和密码,即可连接成功。
总结:完整链路+注意事项
完整链路梳理(小白能懂的逻辑)
你的轻薄本 → 连接阿里云服务器的8081端口(通过FRP服务端) → 穿过FRP搭建的隧道 → 连接家里Windows电脑的22端口(SSH服务) → 成功操控家里的AI服务器。
必记注意事项(避免后续出问题)
-
家里的电脑必须保持开机状态,FRP客户端必须启动(关闭窗口会断开,建议设置开机自启);
-
阿里云服务器的FRP服务端要保持后台运行(用nohup命令启动的话,关闭登录窗口也不影响);
-
记住三个核心信息:阿里云公网IP、FRP映射端口(8081)、家里电脑的远程账户名和密码;
-
如果连接失败,先检查三点:① 阿里云安全组端口是否开放;② FRP服务端和客户端是否都启动成功;③ SSH服务是否正常运行。
按照上面的步骤操作,避开所有坑,你就能拥有一台随时待命的私人算力平台,出门在外也能轻松操控家里的AI服务器啦!