从零搭建远程SSH隧道:手把手教你突破内网限制
本文详细介绍了在Windows和Linux系统上配置SSH服务器,并通过SakuraFrp实现内网穿透的全过程。主要内容包括:Windows端通过PowerShell安装OpenSSH服务并设置开机自启;Ubuntu系统通过终端安装openssh-server并验证服务状态;使用SakuraFrp创建隧道实现公网访问,包括获取连接信息、VS Code远程连接演示等关键步骤。文章还提供了常见问题排查
本文详细记录了从Windows和Linux配置SSH服务器,到使用SakuraFrp实现内网穿透的全过程。
你是否遇到过这些场景:实验室的深度学习服务器只能在局域网访问,回家了想跑个训练都不行;工控机部署在无人值守的野外,出了问题非要去现场才能登录排查。
今天这篇教程,就用最接地气的方式,带你一步步搭建一条安全的远程SSH隧道,让你在任何有网络的地方,都能像操作本地电脑一样,访问你的远程设备。
Windows端:让电脑变身SSH服务器
首先在需要被远程访问的Windows电脑上操作。以下所有命令都在管理员权限的PowerShell中运行。
1. 检查当前系统是否已安装SSH
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

这个地方应当显示为<font style="color:#DF2A3F;">Installed</font>
2. 安装SSH服务器(如未安装)
如果你没有安装,我们可以使用以下指令进行安装
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
3. 启动服务并设置开机自启
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
4. 验证服务是否运行
Get-Service sshd

看到 Running 字样,说明你的Windows电脑已经是一台合格的SSH服务器了。
Linux端(Ubuntu):同样操作,更简单
如果你用的是Ubuntu系统,配置过程更加简洁。
以下
command均在终端中运行启动终端:
Ctrl + Shift + T
1. 安装SSH服务
sudo apt update
sudo apt install openssh-server -y


我已经下载过了,所以这里就没有下载的过程了。
如果下载遇到问题,请翻到文章末尾
2. 启动并设置开机自启
sudo systemctl start ssh
sudo systemctl enable ssh

3. 验证服务状态
sudo systemctl status ssh

active (running) 表示服务正在运行,enabled 表示开机自启已生效。至此,Linux端的配置也完成了。
关键一步:用SakuraFrp打穿内网
现在SSH服务在局域网内已经可以访问,但要从公网连接,还需要一条隧道。这里我们使用SakuraFrp的免费服务。
第一步:启动隧道
在你的内网设备上打开SakuraFrp客户端,确保隧道状态为“在线”。

目前是没有启动的,我们需要启动它。
这一步是后续所有操作的大前提,必须保持客户端在线。
第二步:获取连接信息
在SakuraFrp客户端或官网后台,查看你创建的隧道详情,会看到分配的隧道域名和端口号。这两个信息是连接的关键。
控制台地址:SakuraFrp 4.0
第三步:从公网发起连接
在任意一台外网电脑的终端里输入以下命令:
ssh <你的用户名>@<你的隧道域名> -p <你的隧道端口>
一个具体示例:
# 示例:用户 nvidia,通过隧道 frp-example.com:12345 连接
ssh nvidia@frp-example.com -p 12345
但是这里操作有点迷惑,新手容易迷茫,所以我用VS Code 演示一下如何通过SSH远程连接主机进行编程。
-
点击VS Code 左下角 (没有的可以在扩展里面下载
Remote - SSH)
-
选择Connect to Host (选项的末尾要有SSH)

-
输入神秘命令

-
输入主机密码
a. (被控端的密码)
b.
-
等待加载,第一次连接需要时间

-
打开一个文件夹,开始使用

重要注意事项
- 访问密码验证:如果你的隧道设置了访问密码,首次连接时需要在浏览器访问
https://<你的隧道域名>:<你的隧道端口>,输入密码验证后才能继续。

- 端口可能变化:免费隧道的端口号在重启客户端后可能会动态变化,如果突然连不上,先去后台检查一下最新端口。
- 本地服务是根基:确保内网设备的SSH服务(默认端口22)始终保持运行,隧道只是转发,源服务必须是好的。
遇坑不慌:常见故障速查
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
Connection refused |
SSH 服务未运行 | 在目标电脑上执行 Start-Service sshd 或 sudo systemctl start ssh |
Permission denied |
用户名或密码输入错误 | 仔细检查登录凭据,注意大小写 |
Connection timed out |
隧道未启动或端口号错误 | 检查SakuraFrp客户端是否在线,核对最新的端口号 |
| 浏览器验证失败 | 访问密码输入错误 | 重新打开隧道地址,输入正确的访问密码 |
![]() |
进程占用 | sudo kill -9 3480 |

总结:整个过程可以概括为三步:在目标电脑上开启SSH服务、用SakuraFrp建立隧道、最后从外网通过隧道地址和端口发起连接。
希望这篇教程能帮你彻底摆脱局域网的束缚,让远程工作更自由。如果你在配置中遇到其他问题,欢迎在评论区留言交流。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)