# 关于手机ssh任意位置链接本地计算机,基于frp实现的方法 不会弄怎么办?服务器和电脑都安装好codex(不会直接问gpt怎么安装,终端输入命令就行了),然后把文档粘贴到codex里面让他帮你配置好就行,实在不会弄,直接找我,telegram=https://t.me/desci0 x=https://x.com/123olp (ps:付费代搭) # 📌 前置准备工作(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 /tcp sudo ufw allow /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 & 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` ## 安装步骤 1. 新建目录并下载 FRP: ```bash 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 ``` 2. 创建配置 `/home/ubuntu/.frp/frp_0.58.1_linux_amd64/frps.ini`: ```ini [common] bind_port = 1234 token = 123456 ``` 3. 编写启动脚本 `/home/ubuntu/.frp/start_frps.sh`(已就绪): ```bash #!/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 ``` ## 启动与停止 - 启动/重启: ```bash 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,需执行: ```bash 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@ -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 三、启动与自启 1) 手动前台验证(可选) PowerShell: cd C:\frp .\frpc.exe -c frpc.ini 2) 后台快捷启动 双击 C:\frp\start_frpc.bat 3) 开机自启(简单方式) 将 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(手机端)连接步骤: 1. 创建主机 - Host (Address): 13.14.223.23 - Port: 12345 - Label 可自定义(如 FRP-Home) 2. 认证方式选择 Key - 在 Authentication 选择 Key - 点击 Import Key(或“从文件/粘贴”) - 将本机私钥 666 的内容导入(建议用安全方式传到手机,再粘贴;如果 Termius 支持从文件导入,选该文件)。 私钥内容在 PC 路径:C:\Users\lenovo\.ssh\666(纯文本,-----BEGIN OPENSSH PRIVATE KEY----- 开头)。 - Passphrase 留空(此钥无口令)。 3. 用户名 - Username: lenovo 4. 保存并连接 - 首次连接接受指纹提示即可。 5. 可选安全措施 - 在 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