【家庭服务器】—— 无需公网IP!用Termius+Tailscale实现跨网络远程访问终端(实操全指南)
无需公网IP!用Termius+Tailscale实现跨网络远程访问终端(实操全指南)
经常需要远程操控家里的电脑终端?比如在公司改家里服务器的配置、户外用手机应急处理电脑上的文件,却被“没有公网IP”“端口映射复杂”“跨网络无法连接”这些问题卡住?
之前陆续分享了Termius连接电脑终端、Tailscale的基础使用,今天就把两者结合起来,分享一套亲测有效的跨网络远程访问方案——Termius+Tailscale,无需公网IP、不用繁琐的端口映射,全程安全加密,不管你在公司、户外,还是异地,只要能上网,就能用手机/电脑通过Termius远程操控目标终端,新手也能快速上手,踩过的坑都帮你避好了。
一、写在前面:为什么选Termius+Tailscale?
在分享实操之前,先说说为什么推荐这套组合,解决大家的核心疑问,也呼应我之前踩过的坑:
-
痛点解决:没有公网IP?运营商CGNAT限制?不用愁!Tailscale无需公网IP,自动穿透各种复杂网络,让不同网络下的设备(手机、电脑)像在同一局域网一样互联;
-
操作便捷:Termius作为专业的终端工具,适配手机/电脑,界面简洁,配置一次就能永久使用,比自带的终端工具更易用;
-
安全可靠:Tailscale基于WireGuard协议加密传输,所有访问都在私人虚拟网络内,避免端口暴露公网带来的攻击风险;Termius支持密钥登录,双重保障终端安全;
-
场景适配:不管是远程SSH操控电脑、管理家庭服务器,还是应急修改文件,这套组合都能覆盖,跨网络、无地域限制,实用性拉满。
一句话总结:新手友好、无需复杂配置、安全稳定,完美解决跨网络远程访问终端的核心需求。
二、前期准备:设备、软件与账号
提前准备好以下内容,避免操作到一半卡壳,所有软件均为免费可用,新手直接照搬即可:
1. 设备准备(2类核心设备)
-
被控制端(目标终端):需要被远程操控的电脑/服务器(Windows、Linux、macOS均可,我这里以Linux服务器和Windows电脑为例),需能正常上网;
-
控制端:用于远程操控的设备(手机/电脑,我这里以手机为例,电脑操作逻辑一致),需能正常上网(4G/5G、WiFi均可)。
2. 软件准备
-
所有设备(被控制端+控制端):安装Tailscale(用于建立跨网络虚拟连接);
-
控制端(手机/电脑):安装Termius(用于远程连接终端,手机端在应用商店搜索,电脑端官网下载即可)。
3. 账号准备
注册一个Tailscale账号(官网一键注册,支持Google、Microsoft账号登录,无需复杂表单),所有设备需登录同一个Tailscale账号,才能加入同一虚拟网络(tailnet)。Termius无需注册,安装后可直接使用。
三、分步实操:从配置到连接,全程手把手
实操分为3个核心步骤:被控制端配置(Tailscale+开启SSH)→ 控制端配置(Tailscale+Termius)→ 跨网络连接测试,每一步都有详细操作和命令,新手跟着走,全程不踩坑。
第一步:被控制端配置(重点!决定能否正常被访问)
被控制端的核心任务:安装Tailscale并加入虚拟网络、开启SSH服务(Termius通过SSH连接终端)、获取Tailscale虚拟IP(关键访问地址)。
1. 安装并配置Tailscale(以Linux服务器为例,Windows/macOS类似)
# 1. 安装Tailscale(一键安装命令,复制执行即可)
curl -fsSL https://tailscale.com/install.sh | sh
# 2. 启动Tailscale并登录账号(首次执行会触发认证)
sudo tailscale up
重点提醒:
- 如果执行sudo tailscale up后卡住、无输出(之前我踩过的坑),按Ctrl+C中断,执行以下命令强制生成认证URL:
sudo tailscale down
sudo tailscale up --login-server=https://control.tailscale.com --accept-dns=false --accept-routes=false
执行后会输出一个https://login.tailscale.com/a/开头的链接,复制链接到任意浏览器(手机/电脑均可),登录你的Tailscale账号,完成认证后,终端会自动完成配置。
- 认证成功后,获取Tailscale虚拟IP(关键!记下来,后续Termius需要用到):
tailscale ip -4 # 输出类似:100.101.102.103(虚拟IP,跨网络访问全靠它)
2. 开启SSH服务(Termius连接终端的核心)
如果之前已经开启过SSH服务,可跳过这一步;如果未开启,按以下方式操作(分系统):
- Linux(Ubuntu为例):
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh # 设置开机自启,避免重启后无法访问
- Windows(10/11):
设置 → 应用 → 可选功能 → 添加功能 → 搜索安装“OpenSSH服务器”,安装后启动sshd服务并设置自动启动(可参考我之前分享的Termius连接指南)。
- macOS:
系统设置 → 通用 → 共享 → 勾选“远程登录”,允许所有用户或特定用户连接即可。
第二步:控制端配置(手机为例,电脑操作逻辑一致)
控制端的核心任务:安装Tailscale并加入同一虚拟网络、配置Termius,填写被控制端的虚拟IP和SSH信息,完成连接准备。
1. 安装并登录Tailscale
手机应用商店搜索“Tailscale”,安装后打开,用和被控制端相同的账号登录,登录后会自动加入同一虚拟网络,无需额外配置。
登录成功后,可在Tailscale应用内看到被控制端的设备名称和虚拟IP(和之前获取的100.x.x.x一致),说明虚拟网络已建立。
2. 配置Termius,新建SSH连接
打开Termius,操作步骤如下(全程图形化,简单易懂):
-
点击底部“+”号,选择“New Host”(新建主机);
-
填写核心连接信息(重点!不能填错):
-
Label:自定义连接名称(比如“家里的Linux服务器”“办公室电脑”,方便区分);
-
Address:填写被控制端的Tailscale虚拟IP(比如100.101.102.103,之前记下来的);
-
Port:填写22(SSH默认端口,若修改过则填对应端口);
-
Username:填写被控制端的系统用户名(Linux:比如root、ubuntu;Windows:Microsoft账户或本地账户;macOS:系统用户名);
-
Password:填写被控制端的系统密码(或后续用密钥登录,更安全);
-
Protocol:默认选择“SSH”即可。
-
-
填写完成后,点击“Save”保存连接,此时Termius会自动保存该连接信息,后续无需重复配置。
第三步:跨网络连接测试,验证是否成功
到这里,所有配置都已完成,接下来测试跨网络访问——控制端断开和被控制端的同一WiFi,切换到其他网络(比如手机4G/5G、公司WiFi),然后执行以下操作:
-
确保控制端的Tailscale处于运行状态(手机端后台不要关闭);
-
打开Termius,找到之前保存的连接,点击进入;
-
首次连接会提示服务器指纹验证,点击“Continue”确认;
-
输入密码(若填写过密码,会自动填充),回车后,若成功进入终端界面(Linux显示命令行,Windows显示PowerShell/命令提示符),说明跨网络访问成功!
测试命令(验证是否能正常操控):
-
若被控制端是Linux/macOS,输入
uname -a,能输出系统信息,说明操控正常; -
若被控制端是Windows,输入
systeminfo | findstr /B /C:"OS Name",能输出系统名称,说明操控正常。
至此,用Termius+Tailscale实现跨网络远程访问终端,就已经全部完成了!不管你在什么地方,只要能上网,就能随时通过Termius远程操控被控制端,无需公网IP、不用端口映射,完美解决跨网络访问的痛点。
四、常见问题排查(踩过的坑,帮你避坑)
实操过程中,可能会遇到一些小问题,整理了最常见的4个问题,附上解决方案,新手遇到不用慌:
| 常见问题 | 解决方案 |
|---|---|
| Termius连接超时,无法连接 | 1. 检查被控制端和控制端的Tailscale是否登录同一账号、处于运行状态;2. 确认被控制端的SSH服务是否正常运行(sudo systemctl status ssh);3. 核对Termius填写的虚拟IP、端口、用户名是否正确。 |
| sudo tailscale up执行后卡住,无输出 | 按Ctrl+C中断,执行sudo tailscale down,再执行sudo tailscale up --login-server=https://control.tailscale.com --accept-dns=false --accept-routes=false,复制生成的URL到浏览器完成认证。 |
| 连接时提示“权限被拒绝” | 1. 用户名/密码填写错误,重新核对;2. 被控制端的SSH服务限制了登录用户,检查SSH配置;3. 若用密钥登录,核对密钥是否配置正确。 |
| Tailscale显示设备离线 | 1. 检查被控制端的网络是否正常,Tailscale是否处于运行状态;2. 重启Tailscale服务(sudo systemctl restart tailscaled);3. 检查防火墙是否放行UDP 41641端口(sudo ufw allow 41641/udp)。 |
五、进阶优化:让远程访问更安全、更便捷
如果想提升使用体验,可参考以下2个进阶优化技巧,都是我长期使用后总结的实用方法:
1. 密钥登录,替代密码(更安全)
密码登录存在泄露风险,推荐用密钥登录,Termius+Tailscale完美支持:
-
- 在被控制端生成密钥对(Windows/Linux/macOS通用):
ssh-keygen -t ed25519 # 一路回车,默认保存到~/.ssh/id_ed25519
-
- 配置公钥免密登录(参考我之前分享的密钥登录指南);
-
- 在Termius中导入私钥:设置 → SSH密钥 → + → 导入私钥,编辑连接,选择对应密钥作为认证方式,后续连接无需输入密码,更安全便捷。
2. 开启Tailscale子网路由,访问家庭所有设备
如果被控制端是家庭服务器,可开启Tailscale子网路由,让控制端通过Termius不仅能访问该服务器,还能访问家庭局域网内的其他设备(如NAS、摄像头):
sudo tailscale up --advertise-routes=192.168.1.0/24 # 192.168.1.0/24是家庭局域网网段,根据实际修改
执行后,在Tailscale官网控制台,找到被控制端设备,授权该路由,即可实现家庭局域网内所有设备的跨网络访问。
六、总结
用Termius+Tailscale实现跨网络远程访问终端,是我用过最简洁、最稳定、最适合新手的方案——无需公网IP、不用复杂的端口映射,安装配置全程10分钟左右,跨网络访问速度稳定、安全加密,不管是个人远程管理电脑、家庭服务器,还是应急处理工作,都能完美覆盖。
核心逻辑其实很简单:Tailscale负责建立跨网络的虚拟私有网络,让不同网络下的设备“互联互通”;Termius负责通过SSH协议,实现终端的远程操控,两者结合,扬长避短,解决了新手跨网络远程访问的所有痛点。
如果按照这篇指南操作,还是遇到问题,欢迎在评论区留言,我会第一时间回复;觉得有用的话,点赞收藏,避免下次需要的时候找不到~ 后续还会分享更多远程办公、设备互联的实操技巧,记得关注!









