Tailscale | 校园网外笔记本借助校园网内主机连接实验室服务器

文章目录

    • 需求说明
    • [Step1:安装 Tailscale 并登录](#Step1:安装 Tailscale 并登录)
    • [Step2:主机安装并启动 OpenSSH 服务器](#Step2:主机安装并启动 OpenSSH 服务器)
    • [Step3:修改主机上的 SSH 配置文件](#Step3:修改主机上的 SSH 配置文件)
    • [Step4:笔记本通过 VSCode 连接主机 / 服务器](#Step4:笔记本通过 VSCode 连接主机 / 服务器)

前言: 本博客在 DeepSeek 的指导下完成。

需求说明

所需工具:

  • Tailscale
  • VSCode + Remote - SSH 插件

现有机器如下:

  • 远程服务器 (有固定的 IP 和 Port,Linux) - 下文简称服务器
  • 校园网内主机 (Windows) - 下文简称主机
  • 校园网外笔记本 (Windows) - 下文简称笔记本

需求: 校园网外笔记本借助校园网内主机 (跳板机) 连接到远程服务器。

Step1:安装 Tailscale 并登录

主机和笔记本都需要下载 Tailscale,如下图所示:

安装完毕后登录同一个账号 (Google 邮箱或 GitHub 账号),要求页面中显示两台机器同时在线:

可以在笔记本上 ping 主机的 Tailscale IP 以测试连通性:

bash 复制代码
ping <校园网内主机的 Tailscale IP>

Tailscale IP 的位置如下图所示:

若能 ping 通则说明虚拟网络已通。

Step2:主机安装并启动 OpenSSH 服务器

若已安装 OpenSSH 服务器,则可以跳过这一步。

在 "设置" 中搜索 "可选功能",点击 "添加功能" 以安装 "OpenSSH 服务器",如下图所示:

在系统中搜索 "服务",找到 "OpenSSH SSH Server" 后将其启动类型设置为自动并点击启动,如下图所示:

Step3:修改主机上的 SSH 配置文件

以管理员身份打开记事本,再在记事本中打开文件:

text 复制代码
C:\ProgramData\ssh\sshd_config

Q:找不到文件怎么办?

A:直接在路径栏中输入 C:\ProgramData\ssh,再将文件的选择范围改为 "所有文件 (.)"。

再在 sshd_config 文件中找到并修改或添加以下两行:

text 复制代码
AllowTcpForwarding yes
GatewayPorts yes

保存文件后,以管理员身份打开 Windows PowerShell,运行如下命令以重启 SSH 服务:

bash 复制代码
Restart-Service sshd

注意:必须以管理员身份进行上述操作,否则没有权限保存文件或者重启服务。

Step4:笔记本通过 VSCode 连接主机 / 服务器

笔记本在 VSCode 中打开 SSH 配置文件,如下图所示:

说明:这里涉及 Remote - SSH 插件的使用,请参考其他教程,本文不再赘述!

在 SSH 配置文件中写入主机和服务器的信息:

yaml 复制代码
Host JumpHost
    HostName x.x.x.x   # 替换为校园内主机的 Tailscale IP
    User aaa           # 替换为你在校园内主机的用户名

Host LabServer
    HostName y.y.y.y    # 替换为实验室服务器的真实内网 IP
    User bbb            # 替换为你在实验室服务器的用户名
    Port 22             # 替换为实验室服务器的 SSH 端口
    ProxyJump JumpHost  # 核心指令:通过跳板机连接

点击下图中的按钮,分别尝试连接 JumpHost 和 LabServer:

  • JumpHost:① 选择平台为 Windows;② 输入主机上用户的密码。
  • LabServer:① 选择平台为 Linux;② 输入主机上用户的密码;③ 输入服务器上用户的密码。

END 🥳

相关推荐
CDN36016 小时前
CSDN 技术分享|360CDN SDK 游戏盾集成与常见问题
运维·游戏
Lary_c16 小时前
【测试自动化】pytest + Allure 完整学习指南
运维·自动化·pytest
Trouvaille ~16 小时前
【项目篇】从零手写高并发服务器(六):EventLoop事件循环——Reactor的心脏
linux·运维·服务器·c++·高并发·epoll·reactor模式
bai_lan_ya16 小时前
linux -- 文件IO
linux·服务器
海边的梦17 小时前
救命!此电脑网络位置异常?AD域排错3步封神,DNS/NetLogon/GPO根因一键定位
服务器·开发语言·php
Azure DevOps17 小时前
Azure DevOps:应用远程MCP服务器,提升工作效率
服务器·microsoft·flask·azure·devops
丁劲犇17 小时前
在Trae Solo模式下用Qt HttpServer和Concurrent升级MCP服务器绘制6G互联网覆盖区域
服务器·开发语言·qt·ai·6g·mcp·trae
勇闯逆流河17 小时前
【Linux】Linux进程概念(进程优先级,进程切换详解)
linux·运维·服务器
sheepfagdng17 小时前
Python-web自动化-selenium(2)
运维·selenium·自动化
小码吃趴菜17 小时前
服务器预约系统linux小项目-第三节课
运维·服务器