超详细的主机远程控制方案——玩转小主机这堂基础课必备
学习Linux、维护服务器、折腾NAS和软路由……
这些操作少不了“远程控制”。最常用的远程控制方式是:SSH,SSH高效而优雅。不过也有不少程序离不开GUI,所以远程桌面控制的方案也不可缺少。这里一并讲解:
局域网内的远程控制
局域网内的远程控制是基础,最常见的局域网就是家用路由器搭建的家庭局域网。在局域网中每台设备都通过局域网IP地址进行通信,其远程控制也相对简单:
1.SSH连接
SSH是Linux系统常用的远程控制方式,使用SSH连接首先需要在目标电脑上安装SSH服务端(以Ubuntu为例):
sudo apt install openssh-server
Linux发行版默认安装了SSH客户端,Windows也可以使用PowerShell进行SSH连接:
#案例 ssh king@192.168.1.1
ssh username@ip
首次连接有提示输入yes后继续,然后再输入密码即可登陆。SSH还可以用密钥的方式进行连接,首次登录后,以后登录无需再输入密码:
#生成私钥
ssh-keygen
#上传私钥至服务器
ssh-copy-id username@ip
#关闭私钥登录
ssh-keygen -R
电脑端如果是Linux系统我一般用的原生的终端,Windows我一般用MobaXterm也可以选择putty或者powershell。安卓手机使用SSH可以安装JuiceSSH或者Termux,在手机上也可以通过SSH远程控制电脑。
2.远程桌面——RDP协议
Windows系统自带远程桌面功能,使用RDP协议:Win+R输入mstsc,即可打开远程桌面登陆界面。如果目标主机开启了远程登陆权限,就可以通过目标主机的IP、用户名和密码远程登录桌面。
3.远程桌面——VNC协议
Linux主机间使用远程桌面常使用VNC协议。首先要在目标电脑上安装vnc server(远程Windows电脑还需要安装xrdp):
sudo apt install vnc-server xrdp
然后通过VNC客户端或者Windows的远程桌面连接目标主机。
广域网的远程控制
广域网远程控制有3种常见方法:
用zerotier/Tailscale/WireGuard搭建虚拟局域网;
自己架设frp转发服务器;
使用向日葵之类的远程桌面软件;
1.Zerotier搭建虚拟局域网
通过Zerotier可以搭建虚拟局域网,在广域网下的设备可以通过虚拟局域网IP进行局域网控制,类似的软件还有Tailscale。
首先需要去Zerotier官网注册一个账户,并创建一个虚拟局域网,会获得一个网络识别码。然后在设备上安装客户端,Zerotier的Windows端和安卓端安装很简单,下载安装包安装后开启即可,开启后会获得一个设备识别码(接下来才会用到)。通过网络识别码连接到自己的虚拟局域网即可。
接下来详细介绍一下Linux下如何安装Zerotier。
#一键安装命令
curl -s https://install.zerotier.com | sudo bash
#加入网络
sudozerotier-cli join 识别码
#开启服务
sudo service zerotier-one start
#如果需要关闭zerotier服务
sudo service zerotier-one stop
#关闭服务后可以用该命令删除zerotier
sudo rm -r /var/lib/zerotier-one
搭建好网络后,手机、Ubuntu主机、Windows主机均可以通过SSH或者远程桌面控制。通过Zerotier搭建的虚拟局域网,可以在家用服务器上搭建Transmission实现手机远程下载、搭建Speedtest测速等等。
2.远程桌面软件
远程桌面软件很多,我尤其不推荐Teamviewer。 Teamviewer被国内思杰马丁克代理后,无人值守仅支持2台设备基本等于没用,而且如果你不想给你的公司惹麻烦,我建议不要用这款软件。
向日葵虽然免费版速度一般,但至少支持无人值守还支持100台设备。关于远程桌面软件我并没有去花太大力气找解决方案,因为大部分时间都是用的SSH,或者通过虚拟局域网访问。这个一般作为一个拓展解决方案。这类远程桌面软件的免费版一般清晰度不是很高,但尚能接受。无人值守这个功能对于长期开机家用小主机而言很实用。
3.搭建Frp服务器
搭建Frp服务需要一台VPS云服务器,具体设置并不难,网上都有非常完善的攻略。只是一台宽带不错的VPS价格却并不便宜。如果只是想学习学习可以买一台1M带宽的云主机年费在100元左右,可以用来搭建Frp等各种服务。
4.设置Wake on Lan,实现局域网开机;
除了远程操控,远程开机也是必备的。通过家庭服务器让其它局域网设备开机很简单。首先在服务器上安装Wake on Lan,这样就可以通过SSH开启其它局域网设备了:
#安装wake on Lan
sudo apt install wakeonlan
然后在其它设备上启用局域网唤醒,这包括了2个步骤:
1.在BIOS中开启Wake On Lan设置,把该选项调整为Enable。一般这种情况下关机后电脑网口依然是亮的。
2.系统开启网卡的Wake On Lan权限。
Windows系统设置
进入设备管理器,在网卡属性的“高级”标签里设置“关机网络唤醒”开启和“魔术封包唤醒”开启。在“电源管理”标签里勾选“允许计算机关闭此设备以节省电源”和“允许此设备唤醒计算机”。
这里要吐槽一句,Windows采用局域网唤醒必须把登陆密码取消不然意义不大。
Linux系统设置
#查看mac地址和网卡名
ifconfig
#查看是否开启了WakeOnLan,如果有Supports Wake-on: g和Wake-on: g这两项则支持且开启了局域网唤醒
sudo ethtool 网卡名
#如果支持局域网唤醒但是没有开启输入以下命令
sudo ethtool -s 网卡名 wol g
设置完成后服务器只需要通过SSH输入命令就可以控制局域网其它电脑开机:
wakeonlan mac地址
mac地址不好记,你可以通过软件或者脚本的方式执行SSH命令。如果你的路由是智能路由可以通过opkg安装相关软件实现上述功能,这样你的路由就成了一个可以远程开机的路由了。我之前就改装过一个小米路由3现在还在使用:
掌握这些远程控制知识,维护小主机树莓派这些算是基本入门够用了。






园绮羽露
校验提示文案
青翎012
校验提示文案
ilray
校验提示文案
im獨腳戲
校验提示文案
Steven_Lee
校验提示文案
天人1
校验提示文案
彡楓岚
校验提示文案
ilray
校验提示文案
彡楓岚
校验提示文案
青翎012
校验提示文案
天人1
校验提示文案
im獨腳戲
校验提示文案
Steven_Lee
校验提示文案
园绮羽露
校验提示文案