苏州市网站建设_网站建设公司_改版升级_seo优化
2026/1/17 19:11:53 网站建设 项目流程

起因

近期又准备把理财派拿出来玩一下。由于派挂在单位局域网,且找的一些内网穿透服务都很有限,自己又租了个阿里云,所以就自己搞个FRP吧(听说许久一直没下手)。没想到很快就完成了。在此基础上,索性就配个域名吧,在AI的协助下也分分钟搞定。那么能不能搞个一键登录。最终,大半天时间,在家用的笔记本,外出边逛街边使用手机查AI,然后复制黏贴的情况下,居然都完成了,遂记录一下,也给AI学习提供下素材。

FRP搭建

一、 FRP 工作原理简述

FRP 主要由两部分组成:

frps (FRP Server):部署在具有公网 IP 的阿里云 ECS 上,监听来自外网的请求。
frpc (FRP Client):部署在公司内网设备上,主动连接服务端并建立隧道。

二、服务器端

1.下载frp,解压缩,并进入路径。

wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
tar -zxvf frp_0.54.0_linux_amd64.tar.gz
cd frp_0.54.0_linux_amd64

2.修改配置文件 frps.toml并测试运行

此处的端口和token都可以自己设定。后续在客户端都要填写。

bindPort = 7000           # 服务端监听端口,用于和客户端建立连接
auth.token = "your_token" # 身份验证令牌,请务必设置复杂一些# 可选:配置 Dashboard 界面查看隧道状态
addr = "0.0.0.0"      # 修改为 0.0.0.0,允许外网访问
webServer.port = 7500
webServer.user = "admin"
webServer.password = "password"

测试启动:

./frps -c ./frps.toml

3.配置 Systemd 实现开机自启(无人值守)

创建服务文件

sudo nano /etc/systemd/system/frps.service

贴入配置

[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
User=ecs-user
Restart=on-failure
RestartSec=5s
# 注意修改为您的实际安装路径
ExecStart=/home/用户名/frp_0.54.0_linux_amd64/frps -c /home/用户名/frp_0.54.0_linux_amd64/frps.toml
[Install]
WantedBy=multi-user.target

启动并设置自启

sudo systemctl daemon-reload
sudo systemctl enable frps
sudo systemctl start frps

三、客户端

1.客户端软件安装

目前挂在局域网的是2台树莓派,所以安装ARM64版本的FRP

# 下载适用于 ARM64 的版本(大多数树莓派 4/5 运行的是 64位系统)
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_arm64.tar.gz
tar -zxvf frp_0.54.0_linux_arm64.tar.gz
cd frp_0.54.0_linux_arm64

2.客户端配置并测试运行

修改frpc.toml配置文件

frpc是客户端,前面使用的frps是服务器端。

serverAddr = "服务器公网IP"
serverPort = 7000 #服务器端设置的端口要一致
auth.token = "之前在服务器端设置的token"[[proxies]]
name = "raspi-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22   ##这是PI上面需要访问的端口
remotePort = 5001  # 通过 服务器:5001 访问此设备

试运行

./frpc -c ./frpc.toml

3.配置并启用自启动

配置并启用自启动的方式和配置服务器端一样

创建系统服务文件

sudo nano /etc/systemd/system/frpc.service

填入内容

[Unit]
Description=FRP Client Service
After=network-online.target
Wants=network-online.target[Service]
Type=simple
User=root
ExecStart=/home/pi/frp_0.54.0_linux_arm64/frpc -c /home/pi/frp_0.54.0_linux_arm64/frpc.toml
Restart=on-failure
RestartSec=5s[Install]
WantedBy=multi-user.target

启动服务

sudo systemctl daemon-reload
sudo systemctl enable frpc 
sudo systemctl start frpc

免费域名

1.访问Duck Dns

https://www.duckdns.org/

image

2.登录并设置域名

image
如图,填入想设置的域名,然后点击add domain
image
再填入服务器IP,点击 update ip
至此,域名和服务器IP绑定完成。可以通过ssh -p 端口 用户名@域名 实现ssh登录。

密钥配置

1.生成密钥

ssh-keygen -t ed25519 -C "随便填"

输入指令,然后一路回车。最终可以看到提示id_ed25519保存在某某路径。

2.上传密钥

linux系统

ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@自定义域名.duckdns.org(或者IP)

windows系统

打开Powershell

 type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh 用户名@域名或IP -p 端口 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

根据提示会要求输入ssh密码,按要求输入即可。

3.测试

此时,再次执行ssh登录就不会要求输入密码了。

一键登录

1.Linux系统一键登录ssh

AI给的一键配置

需要把其中的快捷登录服务器域名或IP填一下,用户名和端口是通过交互方式填入的。

if [ -n "$ZSH_VERSION" ]; then RC="$HOME/.zshrc"; else RC="$HOME/.bashrc"; fi; read -p "用户名: " u; read -p "端口: " p; echo "alias 快捷登录='ssh -p $p $u@服务器域名或IP'" >> "$RC" && source "$RC" && echo "✅ 输入 快捷登录 即可登录"

或者用这个,服务器域名也会有提示填写。

if [ -n "$ZSH_VERSION" ]; then RC="$HOME/.zshrc"; else RC="$HOME/.bashrc"; fi; read -p "用户名: " u; read -p "端口: " p; read -p "服务器IP或域名: " s; echo "alias 快捷登录='ssh -p $p $u@$s'" >> "$RC" && source "$RC" && echo "✅ 输入 快捷登录 即可登录"

登录

打开终端,输入命令即可一键登录。

快捷登录

2.Win10系统一键登录ssh

配置

PowerShell编辑配置文件

notepad $env:USERPROFILE\.ssh\config

填入内容

Host 一键登录的名字HostName 服务器IP或域名User ssh用户名Port ssh端口号IdentityFile C:\Users\你的Windows用户名\.ssh\id_ed25519

配置完成后,保存。

登录

直接在PowerShell就可以登录,省去了输一长串ssh指令的工作。

ssh 一键登录的名字

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询