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 🥳

相关推荐
烁34732 分钟前
Docker
运维·docker·容器
IT WorryFree1 小时前
AsciiDoc + Antora开局
运维
网络中的夜鹰1 小时前
轩辕镜像一键安装Docker和Docker Compose脚本
运维·docker·容器
x***r1512 小时前
.NET 10 SDK 安装教程(dotnet-sdk-10.0.100-win-x64详细步骤)
java·服务器·前端
鹤落晴春2 小时前
RH124问答5:管理本地用户和组
linux·运维·服务器
女神下凡2 小时前
这是 Cursor(Composer) 的五种核心交互模式
服务器·人工智能·windows·vscode·microsoft
難釋懷2 小时前
Nginx对客户端的限制
运维·nginx
华奥系科技3 小时前
汛期城市内涝治理:智慧水务如何重塑防汛“安全感”?
大数据·运维·人工智能
IT WorryFree3 小时前
三套 Zabbix7.4 API 可直接复制 params 模板
运维·服务器·网络
RisunJan3 小时前
Linux命令-pmap(进程内存映射报告工具)
linux·服务器·网络