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



需求说明

所需工具:

  • Tailscale
  • VSCode + Remote - SSH 插件

现有机器如下:

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

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



Step1:安装 Tailscale 并登录

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

在这里插入图片描述

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

在这里插入图片描述

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

ping <校园网内主机的 Tailscale IP>

Tailscale IP 的位置如下图所示:

在这里插入图片描述

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



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

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

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

在这里插入图片描述

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

在这里插入图片描述



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

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

C:\ProgramData\ssh\sshd_config

Q:找不到文件怎么办?
A:直接在路径栏中输入 C:\ProgramData\ssh,再将文件的选择范围改为 “所有文件 (.)”。

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

AllowTcpForwarding yes
GatewayPorts yes

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

Restart-Service sshd

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



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

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

在这里插入图片描述

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

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

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 🥳



Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐