/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
前言
极空间平时更像一台“开箱即用”的家用NAS:照片备份、影音播放、文件同步都已经做得很成熟。但如果你开始折腾Docker、自建服务、脚本任务,或者想像管理Linux服务器一样直接进入系统底层,只靠图形界面就会有些受限。
这次我从极空间自带的SSH功能开始,先在系统设置里开启SSH,完成风险确认和账号验证,再从终端实际连接设备,并切换到root环境查看Docker权限。做到这里,极空间就不再只是一个只能通过App操作的存储盒子,而是多了一个真正可以用命令行管理的入口。
本地SSH跑通以后,再继续安装cpolar,把极空间内网里的SSH服务映射成外部TCP地址,并分别测试随机TCP和固定TCP两种访问方式。
整篇重点放在一条很清楚的链路上:极空间开启SSH → 本地连接验证 → cpolar映射SSH端口 → 外部连接 → 固定TCP地址。 这样以后无论是远程维护Docker、查看服务,还是处理其他自建应用,都有了一个更直接的命令行入口。
对极空间这类NAS来说,SSH更像是后续进阶玩法的“基础设施”。很多服务本身并不复杂,真正麻烦的是出问题以后没有合适的入口去查看容器、日志和系统状态。把这条命令行链路先搭好,后面再折腾Docker、自建应用或自动化任务时,排查和维护都会更顺手。

1 极空间为什么值得先把SSH打开
大多数人使用极空间,最常用的还是:
- 文件管理;
- 照片备份;
- 家庭影音;
- 下载;
- App远程访问。
这些功能已经覆盖了日常NAS的大部分需求。
但如果开始部署Docker、运行脚本、查看系统服务,或者处理一些图形界面里没有开放的操作,SSH就会变得很重要。
它给极空间增加的不是一个“新应用”,而是一个:
直接进入系统命令行的管理入口。
后面很多进阶玩法,都会以这一步为基础。
2 在极空间里开启SSH
先进入系统设置:

继续进入相关设置项:

系统会先提示风险,需要输入:
知晓风险

确认以后,再输入对应账号和密码,启用SSH:

这一层设计其实很有必要。
因为SSH一旦开启,能够操作的就不只是文件,而是系统本身。
3 先不要急着做远程,先验证局域网SSH
开启以后,先在同一局域网里测试连接:

连接成功:

这一步非常关键。
如果局域网SSH本身都没有跑通,后面再去排查公网地址没有意义。
所以正确顺序应该是:
先本地连接 → 再做外部访问。
4 切换root环境并确认Docker权限
进入系统以后,继续切换到root用户,并查看Docker相关权限:

做到这里,可以确认:
- SSH已经开启;
- 终端能够正常进入极空间;
- 可以进入更高权限环境;
- Docker相关操作具备进一步折腾的基础。
也就是说,后面很多Docker服务、自建应用和系统维护操作,都可以直接从这个入口继续。
5 SSH的价值不只是“远程敲命令”
真正开始长期使用以后,SSH更像一个通用入口。
比如以后可以用来:
- 查看Docker容器;
- 管理自建服务;
- 修改配置文件;
- 查看日志;
- 执行脚本;
- 处理服务异常;
- 做批量文件操作;
- 进行日常运维。
所以极空间开启SSH以后,最大的变化不是“多了一个黑窗口”。
而是:
很多原本只能靠图形界面完成的操作,现在可以直接进入Linux命令行处理。
6 本地SSH跑通以后,再解决人在外面怎么连
局域网里能SSH,并不代表人在公司、出差或者其他网络环境里也能直接连回来。
这里的问题已经不是SSH本身,而是:
外部设备怎么找到内网里的极空间。
后面的cpolar只负责解决这一层网络入口。
SSH仍然由极空间负责。
7 安装cpolar
执行:
sudo curl https://get.cpolar.sh | sh

安装完成以后,继续查看服务状态:
sudo systemctl status cpolar

确认服务正常以后,就可以进入cpolar的Web管理页面。
8 登录cpolar WebUI
浏览器访问极空间所在设备对应的9200管理端口。
页面:

登录以后,后面的隧道创建和状态查看都在这里完成。
9 给极空间SSH创建TCP隧道
这次隧道参数是:
- 隧道名称:ssh
- 协议:TCP
- 本地地址:192.168.50.100:10000
- 端口类型:随机临时TCP端口
- 地区:China Top
配置页面:

这里最值得注意的是本地地址。
本次环境使用的是:
192.168.50.100:10000
后面的公网TCP入口,最终都会转到这个内网SSH地址。
10 随机TCP地址生成以后先测试
创建成功后,进入在线隧道列表:

这次生成的示例地址里包含:
- TCP域名:2.tcp.cpolar.top
- 公网端口:15595
外部设备连接时,真正使用的是:
公网域名 + 公网端口。
11 从外部设备连接极空间
开始远程连接:

继续:

能够通过公网TCP入口进入极空间以后,说明:
外部设备 → TCP公网地址 → cpolar → 极空间SSH
这一条链已经跑通。
这一步和前面的局域网SSH验证正好对应。
12 随机TCP更适合先验证
随机TCP最大的作用是:
先确认外部链路能不能打通。
如果只是测试,做到这里已经够了。
但如果以后经常远程维护极空间,每次都重新查看随机地址就不太方便。
所以后面继续配置固定TCP。
13 保留固定TCP地址
进入TCP地址预留页面:

页面中选择区域并填写描述。
本次示例最终保留的地址是:
22.tcp.cpolar.top:11909

后面只需要把这个预留地址绑定到之前的SSH隧道。
14 修改原来的SSH隧道
回到隧道列表:

找到SSH隧道并进入编辑。
把:
- 端口类型改成固定TCP端口;
- 预留TCP地址填写为已经保留的地址。
然后更新:

15 查看固定TCP是否已经生效
更新以后,再回到在线隧道列表:

这时原来的随机TCP地址已经换成固定TCP入口。
以后远程维护时,就不需要每次重新查随机地址。
16 最后再测试一次固定地址
使用固定TCP地址重新连接:

连接成功:

这样两种远程方式都已经验证:
- 随机TCP;
- 固定TCP。
到这里,SSH远程访问链路完整跑通。
17 极空间“变服务器”,真正变化的是管理方式
开启SSH以后,极空间本身并没有突然变成另一台设备。
真正变化的是:
你获得了更直接的系统管理方式。
原来只能通过App和Web界面操作。
现在多了一条:
终端 → SSH → Linux系统
的入口。
后面不管是Docker、自建网站、自动化脚本还是其他服务,都可以继续在这条基础上扩展。
18 SSH开放以后,更应该控制使用范围
SSH属于高权限管理入口。
所以长期使用时,至少要注意:
- 不把账号密码随意共享;
- 不公开固定TCP地址;
- 不把root权限交给不需要的人;
- 不使用过于简单的登录凭据;
- 不需要远程连接时及时关闭不必要的入口。
cpolar解决的是网络可达。
真正的系统权限仍然由极空间和SSH账号负责。
19 这篇最终跑通的完整链路
本地:
电脑 → 局域网 → 极空间SSH
远程:
外部电脑 → TCP公网地址 → cpolar → 极空间SSH
固定入口:
固定TCP → SSH隧道 → 极空间
实际完成:
- 极空间开启SSH;
- 风险确认;
- 账号验证;
- 局域网SSH连接;
- root环境;
- Docker权限查看;
- cpolar安装;
- 随机TCP;
- 外部SSH测试;
- 固定TCP;
- 固定地址再次连接。
这条链跑通以后,极空间就多了一个真正适合长期运维的命令行入口。
总结
这次真正完成的,不只是“把SSH开关打开”,而是把极空间从局域网命令行一直连到了外部网络。先确认本地SSH正常,再通过TCP入口做随机地址测试,最后切换到固定TCP,整个过程层次很清楚。
对已经开始用Docker、自建服务和脚本的人来说,SSH最大的价值是让系统管理不再完全依赖图形界面。日志、服务、容器和配置都可以直接从终端处理。
远程访问则只是把这条SSH链路延伸到外部网络。cpolar负责网络入口,极空间账号和SSH权限仍然负责真正的访问控制,这两部分需要分开管理。
以后再部署其他自建应用时,也可以把这篇当作基础步骤:先把SSH和远程管理入口搭好,后面的Docker和服务维护都会方便很多。



