ssh+frp+公网IP 实现远程访问家里的电脑
ssh+frp+公网IP 实现远程访问家里的电脑
下面就是示意图,你有一个公网的电脑。想借助此电脑访问私网的电脑
准备工作
- 下载frp
下载连接:https://github.com/fatedier/frp/releases
1. 在具有公网 IP 的机器上部署 frps
部署 frps 并编辑 frps.toml 文件。以下是简化的配置,其中设置了 frp 服务器用于接收客户端连接的端口
配置端口是7000
bindPort = 7000
a. 将frps 下载到服务器上,命令行进入目录
b.输入下面的指令
./frps -c ./frps.ini
这个时候你会看到启动服务,弹出大概这样的三行提示:
1.1服务器配置
需要注意的是,服务器防火墙需要开放相关的端口,
2. 在本地电脑上部署服务
2.1 安装ssh服务端
设置 > 搜索“添加可选功能” > 添加功能 > 安装OpenSSH客户端
安装好后大概有这样的界面
查看ssh版本
ssh -V
安装完成后还需要启动服务
Win+S搜索“计算机管理”,在“服务”中找到OpenSSH Authentication Agent和OpenSSH SSH Server,将启动类型
改为“⾃动”,并分别启动服务
检查两项服务的运⾏状态:
Get-Service -Name *ssh*
会显示两个正在运行的服务,两个都要显示才算成功
查看SSH服务器是否已经开始监听默认的22号端⼝:
netstat -an | findstr :22
需要显示两个 LISTENING的内容
2.2 启动服务
部署 frpc 并编辑 frpc.toml 文件,假设 frps 所在服务器的公网 IP 地址为 x.x.x.x。以下是示例配置:
serverAddr = "x.x.x.x"
serverPort = 7000
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
localIP 和 localPort 配置为需要从公网访问的内网服务的地址和端口。
remotePort 表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。
进入到下载的frp目录下,输入下面指令,启动服务
frpc -c frpc.ini
3. 远程连接
3.1 ssh界面连接
使用以下命令通过 SSH 访问内网机器,假设用户名为 test:
ssh -o Port=6000 test@x.x.x.x
如果我的公网IP是 111.111.111.111,家中电脑的账户是test
ssh -o Port=6000 test@ 111.111.111.111
然后输入密码就可以连接
3.2 VSCode 中的ssh连接
安装好VScode, 以及vscode中的远程工具
如果我的公网IP是 111.111.111.111,家中电脑是test,code中的 config 文件就这么配置
Host 111.111.111.111
HostName 111.111.111.111
User test
Port 6000