Mac如何连接寝室里充当远程服务器的Windows端?经过自己将近两天的捣鼓,终于把这个问题解决了。感谢Chat GPT、感谢千问,在搭建连接的过程中给予了我莫大的支持。由于过程颇为繁琐,为了以后遇到类似问题自己能够有所参考,于是趁着期末周仅有的休息时间,写下这篇文章,若有差错的地方,恳请海涵指正。
一、写在前面
1.部署方式
大学的校园网通常是禁止路由器端口转发的,因此要想实现公网电脑远程连接内网服务端电脑就需要使用FRP技术进行内网穿透。基本原理为:
- 云服务器作为中转;
- Windows在内网运行SSH服务;
- Mac通过SSH连接Windows;
- FRP实现内网穿透。
2.相关环境
- 阿里云服务器:1.CPU&内存-2核(vCPU) 2GiB; 2.操作系统: Ubuntu 20.04 64位; 3.公网带宽: 3Mbps
- Windows系统:Win11
- Mac系统:macOS 15.7.3
- FRP版本:frp_0.54.0_linux_amd64(云服务器上)与frp_0.54.0_windows_amd64(Windows机上)
二、搭建步骤
1.云服务器端(FRPS服务端)
在Mac终端或者其他SSH服务端(如Xshell)输入如下代码:
1 | 登录云服务器端 |
默认情况下,FRP保存在/root/目录下。
接着在终端输入指令sudo nano frps.toml创建frps.toml安全配置文件。文件内容如下:
1 | # [server] |
再在终端输入指令sudo nano /etc/systemd/system/frps.service配置开机自启文件,文件内容如下:
1 | [Unit] |
最后启动FRP服务,终端指令如下:
1 | 启动服务 |
到此,云服务器上的相关配置文件就配好了。
不过云服务器还有最后一个操作,就是设置安全组允许6000端口、7000端口以及7500端口开放。具体路径为:控制台->云服务器ECS->安全组->管理规则。在入方向增加规则,其中授权策略选择“允许”,优先级选择“1”,协议选择“自定义TCP”,访问来源选择“任何位置”,访问目的设置为“6000”、“7000”以及“7500”。设置完成后可在终端输入命令sudo netstat -tulpn | grep 7000,若有“… Listen …/frps”内容输出,则证明设置成功。
2.Windows配置(FRPC客户端)
下载frp_0.54.0_windows_amd64.zip并解压到指定文件夹,以E:\frp为例。
接着进入E:\frp文件夹中创建frpc.toml,该文件内容如下:
1 | serverAddr = "云服务器公网IP" |
完成上述文件配置后,以管理员身份启动终端输入指令cd E:\frp和.\frpc.exe -c frpc.toml,若出现“login to server success”和“start proxy success”则表示配置成功。
此外可能还需要配置OpenSSH服务的config文件信息,该文件路径为C:\ProgramData\ssh\sshd_config,其中“ProgramData”在Windows中是隐藏文件,需要手动开启。打开sshd_config文件后进行如下修改PasswordAuthentication yes以及PubkeyAuthentication yes,设置完成后再进行SSH连接时就可以支持Windows用户密码验证了。
3.Mac端
当云服务端和Windows端配置没有问题后,在Mac终端输入指令ssh Windows用户名@云服务器公网IP即可进行连接。如果想在vs code中进行远程连接,则需要在.ssh\config文件中配置如下信息:
1 | Host 终端名称 |
其中Host名随意。设置好以后即可在vscode中进行远程终端连接,前提是vs code下载了SSH Remote插件。
三、最后的话
在实际配置过程中,不同人会遇到不同的问题,若出现了本文章之外的状况,可以借助AI辅助一下,我相信只要不放弃,总有解决的那一天。