10 KiB
关于手机ssh任意位置链接本地计算机,基于frp实现的方法
不会弄怎么办?服务器和电脑都按照好codex,然后把文档粘贴到codex里面让他帮你配置好就行,实在不会弄,直接找我,telegram=https://t.me/desci0 x=https://x.com/123olp (ps:报酬是给我永久用你的cc或者codex会员,我会另外提供能力范围内的技术支持嘻嘻 ^_^)
📌 前置准备工作(Prerequisites)
在开始部署 FRP 服务端与客户端之前,请确保具备以下环境与工具。这些前置条件是保证 FRP 隧道正常工作所必需的。
1. 基础环境要求
✔ 一台可长期在线的 AWS EC2 实例
- 推荐系统:Ubuntu 20.04/22.04(本文以 Ubuntu 为例)
- 必须具备公网 IP(AWS 默认提供)
- 需要具备修改安全组规则的权限(开放 FRP 端口)
用途:作为 FRP 服务器端(frps),给 Windows 电脑提供固定访问入口。
2. 一台能够上网的 Windows 电脑
- Windows 10 或 Windows 11
- 需要具备普通用户权限(但部分配置需要管理员权限)
- 必须已安装 OpenSSH Server
用途:作为 FRP 客户端(frpc),无论连接什么网络,都可自动挂到 AWS 上。
3. 必需下载的软件 / 仓库
✔ FRP(Fast Reverse Proxy)
仓库地址(官方):
https://github.com/fatedier/frp
本部署使用版本:
frp_0.58.1
下载页面:
https://github.com/fatedier/frp/releases
需要下载:
- Linux 版(用于 AWS)
- Windows 版(用于本地电脑)
4. 必须安装的软件
✔ Windows:OpenSSH Server + OpenSSH Client
安装路径:
设置 → 应用 → 可选功能 → 添加功能
用途:提供 SSH 登录能力,让 FRP 转发到 Windows 的 SSH。
5. 终端工具
✔ Termius(推荐)
- 用于从手机或电脑通过 SSH 连接你的 Windows
- 支持生成 SSH Key
- 支持管理多个主机
必须使用 Termius 生成 SSH 私钥(因为你启用了“仅密钥登录”)。
官方下载:
https://termius.com
6. 网络与端口要求
在 AWS 安全组中必须开放以下端口:
| 端口 | 用途 | 是否必须 |
|---|---|---|
| FRP 控制端口(如:1234 或 114514) | frpc → frps 连接 | ✔ 必须 |
| SSH 映射端口(如:12345 或 114515) | Termius → Windows SSH | ✔ 必须 |
若使用 UFW(Ubuntu 防火墙),还需:
sudo ufw allow <FRP控制端口>/tcp
sudo ufw allow <SSH映射端口>/tcp
7. 公钥 / 私钥 准备(密钥登录必需)
你需要预先准备:
- Termius 生成的 SSH 私钥(本地)
- Termius 生成的 SSH 公钥(需放到 Windows 的 authorized_keys)
本部署已经禁用密码登录,因此 私钥必须妥善保管,否则将无法登录 Windows。
8. 基本 Linux 操作能力
需要了解以下基础命令(很简单):
cd /path
nano / vim / notepad
chmod / chown
ps -ef | grep
ss -lnpt
nohup <cmd> &
tail -f
你文档中都已覆盖,不会有额外要求。
📌 前置条件总结(最终版)
必须具备:
- AWS EC2(Ubuntu,带公网 IP)
- Windows 电脑(安装 OpenSSH Server)
- Termius(用于 SSH + 生成密钥)
- FRP(下载 Linux + Windows 版本)
- AWS 安全组已开放 FRP 控制端口与 SSH 映射端口
- Termius 生成的 SSH 密钥对
只要满足以上前置准备,你的 FRP 隧道、SSH 密钥登录、跨网络远程访问电脑 100% 能正常运行。
如果你愿意,我还可以帮你:
- 把整个文档串成专业正式的一体化教程
- 为你的文档添加「适用范围、版本说明、架构概览图、流程图」
- 为 FRP 部署提供 systemd 服务模板
- 为 Windows 提供后台 frpc 自启脚本(更可靠)
需要的话告诉我!
FRP 服务器端部署说明
本说明记录了当前 AWS EC2 (Ubuntu) 上的 FRP 服务端配置与操作方法,便于后续维护或重建。
基本信息
- 工作目录:
/home/ubuntu/.frp - FRP 版本:
frp_0.58.1_linux_amd64 - 可执行文件:
/home/ubuntu/.frp/frp_0.58.1_linux_amd64/frps - 配置文件:
/home/ubuntu/.frp/frp_0.58.1_linux_amd64/frps.ini - 日志文件:
/home/ubuntu/.frp/frps.log - 启动脚本:
/home/ubuntu/.frp/start_frps.sh - 监听端口:
- 控制端口
bind_port = 1234 - SSH 映射端口
12345
- 控制端口
- token:
123456
安装步骤
- 新建目录并下载 FRP:
mkdir -p /home/ubuntu/.frp cd /home/ubuntu/.frp wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz tar -zxf frp_0.58.1_linux_amd64.tar.gz - 创建配置
/home/ubuntu/.frp/frp_0.58.1_linux_amd64/frps.ini:[common] bind_port = 1234 token = 123456 - 编写启动脚本
/home/ubuntu/.frp/start_frps.sh(已就绪):#!/usr/bin/env bash set -euo pipefail BASE_DIR="$(cd "$(dirname "$0")" && pwd)" FRP_DIR="$BASE_DIR/frp_0.58.1_linux_amd64" FRPS_BIN="$FRP_DIR/frps" CONFIG_FILE="$FRP_DIR/frps.ini" LOG_FILE="$BASE_DIR/frps.log" if ! [ -x "$FRPS_BIN" ]; then echo "frps binary not found at $FRPS_BIN" >&2 exit 1 fi if ! [ -f "$CONFIG_FILE" ]; then echo "Config not found at $CONFIG_FILE" >&2 exit 1 fi PIDS=$(pgrep -f "frps.*frps\\.ini" || true) if [ -n "$PIDS" ]; then echo "frps is running; restarting (pids: $PIDS)..." kill $PIDS sleep 1 fi echo "Starting frps with $CONFIG_FILE (log: $LOG_FILE)" cd "$FRP_DIR" nohup "$FRPS_BIN" -c "$CONFIG_FILE" >"$LOG_FILE" 2>&1 & sleep 1 PIDS=$(pgrep -f "frps.*frps\\.ini" || true) if [ -n "$PIDS" ]; then echo "frps started (pid: $PIDS)" else echo "frps failed to start; check $LOG_FILE" >&2 exit 1 fi
启动与停止
- 启动/重启:
cd /home/ubuntu/.frp bash ./start_frps.sh - 查看进程:
ps -ef | grep frps - 查看监听:
ss -lnpt | grep 1234 - 查看日志:
tail -n 50 /home/ubuntu/.frp/frps.log - 停止(如需手动):
pkill -f "frps.*frps.ini"
安全组与防火墙
- AWS 安全组(sg-099756caee5666062)需开放入站 TCP 1234(FRP 控制)与 12345(SSH 映射)。
- 若使用 ufw,需执行:
sudo ufw allow 1234/tcp sudo ufw allow 12345/tcp
远程客户端要求
- Windows
frpc.ini中server_addr指向该 EC2 公网 IP,server_port=1234,remote_port=12345,token 与服务器一致。 - Termius/SSH 客户端使用
ssh lenovo@<AWS IP> -p 12345,认证方式为密钥(Termius Keychain 生成的私钥)。
维护建议
- FRP 官方已提示 INI 格式未来会被弃用,后续升级建议改用 TOML/YAML。
- 可将
start_frps.sh注册成 systemd 服务,确保实例重启后自动拉起。 - 定期检查
frps.log是否有异常连接或错误,并确保 token 不泄露。
FRP Windows 客户端配置说明
最后更新:2025-12-05 适用环境:Windows 10/11,用户 lenovo,本机已安装 OpenSSH Server。
一、目录与文件
- FRP 程序目录:C:\frp\
- frpc.exe
- frpc.ini(客户端配置)
- start_frpc.bat(后台启动脚本)
- SSH 密钥:
- 私钥:C:\Users\lenovo.ssh\666
- 公钥:C:\Users\lenovo.ssh\666.pub
- 管理员授权公钥:C:\ProgramData\ssh\666_keys
二、frpc.ini 内容(当前生效) [common] server_addr = 13.14.223.23 server_port = 1234 token = 123456
[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 12345
三、启动与自启
-
手动前台验证(可选) PowerShell: cd C:\frp .\frpc.exe -c frpc.ini
-
后台快捷启动 双击 C:\frp\start_frpc.bat
-
开机自启(简单方式) 将 start_frpc.bat 复制到启动文件夹: C:\Users\lenovo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 下次登录自动后台启动。
四、SSH 连接方式
-
终端命令: ssh -i "C:\Users\lenovo.ssh\666" -p 12345 lenovo@13.14.223.23
-
Termius 填写: Host 13.14.223.23 Port 12345 User lenovo Key 选择 C:\Users\lenovo.ssh\666(无口令)
五、权限与安全
- 私钥权限已限制为 lenovo、SYSTEM 可读。
- sshd 已关闭密码登录(PasswordAuthentication no),仅密钥。
- 管理员组用户使用 C:\ProgramData\ssh\666_keys 作为授权列表。
六、常用检查
- 查看 frpc 运行:任务管理器或 netstat -ano | findstr 1234
- 查看 frpc 日志(WSL 版,如需):/tmp/frpc-wsl.log
- 测试 SSH:上面的 ssh 命令返回 ok 即通。
七、故障排查速查
- "Permission denied (publickey)":
- 确认 666 公钥在 C:\ProgramData\ssh\666_keys
- 确认私钥路径/权限正确。
- "Connection refused": frps 未运行或端口 1234/12345 未放行。
- frpc 未连接:前台运行 frpc 查看提示,或检查 frpc.ini 中 server_addr、token 是否匹配。
Termius(手机端)连接步骤:
- 创建主机
- Host (Address): 13.14.223.23
- Port: 12345
- Label 可自定义(如 FRP-Home)
- 认证方式选择 Key
- 在 Authentication 选择 Key
- 点击 Import Key(或“从文件/粘贴”)
- 将本机私钥 666 的内容导入(建议用安全方式传到手机,再粘贴;如果 Termius 支持从文件导入,选该文件)。 私钥内容在 PC 路径:C:\Users\lenovo.ssh\666(纯文本,-----BEGIN OPENSSH PRIVATE KEY----- 开头)。
- Passphrase 留空(此钥无口令)。
- 用户名
- Username: lenovo
- 保存并连接
- 首次连接接受指纹提示即可。
- 可选安全措施
- 在 Termius 中为该私钥设置本地加密密码(App 层保护)。
- 若不方便复制私钥,可生成移动端新钥,并将其公钥追加到 C:\ProgramData\ssh\666_keys,但目前 666 已可用,按上面导入即可。
一键启动命令(在当前管理员 PowerShell 执行)
放行、防解除阻 & 直接前台启动
Add-MpPreference -ExclusionPath "C:\frp" Unblock-File C:\frp\frpc.exe cd C:\frp .\frpc.exe -c frpc.ini
如果想后台启动(不占窗口):
cd C:\frp Start-Process -FilePath ".\frpc.exe" -ArgumentList "-c frpc.ini" -WindowStyle Hidden
需要开机自启(最高权限):
schtasks /Create /TN "FRPClient" /TR "C:\frp\frpc.exe -c C:\frp\frpc.ini" /SC ONLOGON /RL HIGHEST /F /RU lenovo