用便携电脑远程连接家里高性能电脑windows系统的详细步骤记录 - aierlma/git_instructions GitHub Wiki

本文参考知乎文章

首先确保被连接的,家里的,高性能电脑是Windows专业版(百度搜索win10专业版即可。一般来讲可以断网输入序列号升级,然后再用工具激活)。开启远程桌面连接功能。

此外需要拥有一台Linux的云服务器。微软(https://www.microsoftazuresponsorships.com从这个网址查看学生剩余额度)或者腾讯云学生、GitHub学生包给的DigitalOcean都可以拥有一台。详细配置微软云服务器可以参考这个链接

当然,我首先推荐你试一下parsec。


操作步骤

确认被连接电脑启用远程连接

开启远程连接

如果你想在局域网内连接两台电脑,只需要在被连接电脑的powershell中输入ipconfig查看ipv4地址。再用另一台windows电脑搜索远程桌面填入这个地址就可以。

对于任意苹果设备,使用rd client 即可。


以下步骤可以从公网访问家里的电脑,原理是云服务器转发。

新建一个云服务器

具体教程省去。关于连接服务器的方法,使用ssh连接远程服务器。输入以下命令

ssh-keygen

然后你可以选择一个位置保存这个ssh密钥对,并且推荐设置一个密码访问私钥(passphrase)

将公钥,也就是***.pub文件上传到服务器中

ssh-copy-id <服务器用户名>@<服务器IP>
# 例如
ssh-copy-id [email protected]

或者手动把本地***.pub文件的所有内容复制到服务器的~/.ssh/authorized_keys最后即可

最后也可以先本地运行 scp ~/.ssh/id_rsa.pub <服务器用户名>@<服务器IP>:~/

然后服务器执行

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

就可以不用密码登录服务器了。

打开云服务器的3389端口

3389端口是远程连接的默认端口,可以在被连接Windows电脑设置里搜索远程连接,底下有个高级设置查询如何更改。一般不推荐更改。

打开云服务器的3389端口。

例如以下是腾讯云服务器的打开方式。 tencent cloud

详细设置可以参考这篇文章

以下是微软Azure虚拟机的打开方式 Azure

配置服务器的sshd服务

编辑服务器的/etc/ssh/sshd_config文件,需要root权限

追加一行GatewayPorts yes在最后。运行重启sshd服务命令 sudo systemctl restart sshd

使用ssh配置端口转发

使用如下命令

ssh -NfR <服务器IP>:<服务器Port>:<本地IP>:<本地Port> <服务器用户名>@<服务器IP>
# 例如
ssh -NfR 127.0.0.1:3389:localhost:3389 [email protected]
  • 服务器IP为你的云服务器的公网IP
  • 服务器Port为之前在防火墙中打开的端口,默认为3389
  • 本地IP一般填写localhost
  • 本地Port为启用远程桌面的高级设置中指定的端口,默认为3389
  • 服务器用户名为你登陆云服务器的用户名
  • -R表示远程端口转发
  • -N表示不执行命令,只进行端口转发
  • -f表示将ssh放到后台执行

至此,理论上可以从任何地方访问家里的电脑了。只需要在外带的电脑中用rdp输入服务器IP即可。

设置开机自动运行

使用Windows自带的任务计划程序,右上角创建任务。参考知乎文章

遇到的问题

如果遇到以下问题 Warning: remote port forwarding failed for listen port 3389

是因为端口被占用,可以用以下命令解决。登录服务器

sudo netstat -anp | grep 3389
# 记住进程id($pid)
sudo kill $pid
⚠️ **GitHub.com Fallback** ⚠️