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 🥳

相关推荐
熊延2 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
松涛和鸣3 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
Yeats_Liao5 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒5 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森5 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
文艺理科生Owen5 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
运维·nginx
期待のcode5 小时前
Redis的主从复制与集群
运维·服务器·redis
翼龙云_cloud5 小时前
腾讯云代理商: Linux 云服务器搭建 FTP 服务指南
linux·服务器·腾讯云
REDcker6 小时前
gRPC开发者快速入门
服务器·c++·后端·grpc
jun_bai6 小时前
VSCode使用
ide·vscode·编辑器