
去年折腾硬盘休眠那阵,我想盯着NAS每一分钟在往盘上写什么,网页后台翻了个底朝天,没有这个功能。最后是SSH登进去挂了一晚上iotop才把偷写盘的qBittorrent揪出来的,这段排查过程我写在硬盘休眠那篇里——那是我第一次真正用上SSH,之前这个开关在我眼里就是「高级用户才碰的东西」,白担惊受怕了一年。
SSH是什么:网页后台点不到的那扇后门
打个比方,NAS的网页管理界面是前台接待,什么都能问,但只能按它给的按钮办事;SSH就是后厨的门,进去以后你面对的是这台机器的整个底层系统,飞牛是Debian,群晖也是Linux的底子,命令行能干的活网页上一件都点不动。
我后来回头看自己写过的那些NAS文章才发现,一大半的排查和折腾根本离不开这扇门:查硬盘休眠被谁唤醒,得登进去跑iotop看每分钟的写入;清理四万张照片里的重复文件,得apt装个fdupes去重;硬盘时有时无认不到,得用dmesg翻内核日志。这些活有个共同点——网页后台里压根没有对应的页面。
所以SSH不是什么黑客工具,它就是NAS的另一种登录方式。你平时用的账号密码不变,只是从浏览器换到了一个黑窗口里输。Windows 10以后的系统自带这个客户端,按住Win键输「终端」或者「cmd」打开就能用,不用装任何软件。
飞牛开SSH:一个开关的事
飞牛的入口藏得浅,两步就完:
登进飞牛桌面,点左下角的设置,进安全那一栏,里面有一项SSH。把「启用SSH服务」勾上,端口默认22,不用动,保存。新一点的固件这个开关就放在设置的安全页里,老版本在控制面板的系统设置里翻SSH字样,叫法一样,找不到就说明该升固件了。
然后回电脑上开终端,敲这么一行:
ssh 你的用户名@192.168.31.20
把用户名换成你的FN ID账号,IP换成你自己NAS的地址——不知道IP的去路由器设备列表里找,我家NAS绑了静态IP,192.168.31.20,省得DHCP哪天换号我连不上。
第一次连它会甩出一段警告,说什么「无法确认主机真实性」,问你要不要继续,这是在记录这台NAS的指纹,输yes回车就行,以后就不会再问了。接着输密码——注意输密码的时候屏幕上一个字都不显示,不是键盘坏了,盲打完回车。看到命令提示符变了样子,你就已经在NAS里面了。
这时候登进来的还是普通用户,想装软件、看系统日志,得再提一次权:
sudo -i
输一遍自己的密码,提示符变成井号,你就是root了。飞牛底层是Debian,装东西直接apt,我清重复文件那个fdupes就是这么装上的,二十秒的事。
群晖开SSH:控制面板一个勾
表弟那台二手群晖我帮他弄过,路径更直白:控制面板,找到「终端机和SNMP」,勾上「启用SSH功能」,端口同样默认22,应用完生效。连接命令一模一样,账号用你的管理员账号,群晖默认一般叫admin。
区别在进去之后。群晖没有apt,你想装点套件中心里没有的工具,要么下静态编译好的可执行文件丢进去跑,要么拿Docker起个容器绕着干——我清重复文件那篇下载机的装法写过这个对比,飞牛一行apt的事,群晖得拐个弯。
但排查类的命令两家通吃,因为都是Linux。他那块硬盘时有时无认不到,我就是SSH进去敲了dmesg加grep,看到SATA链路反复重置的记录,才把方向从「盘坏了」掰到「线松了」上,换根卡扣线六块钱解决。sudo -i提权也是通用的。
连上之后能干什么:我最常用的五条
不用背命令,用到什么搜什么,抄进黑窗口回车就行。这五条覆盖了我日常九成的需求:
| 命令 | 干什么用 | 我的实际场景 |
| df -h | 看每块盘还剩多少空间 | 存储池报警那次,先靠它定位到哪个卷满了 |
| top | 看CPU和内存谁在吃 | 人脸识别跑起来那几天,确认N100四核吃了七成 |
| iotop -o | 看谁在读写硬盘 | 挂一晚上抓到qBittorrent五分钟写一次session |
| dmesg | grep -i sata | 翻硬盘认没认到的底层日志 | 硬盘消失那晚,看到链路重置记录锁定SATA线 |
| free -h | 看内存占用和剩余 | 升内存前先看实际吃多少,别凭感觉买 |
再进一阶是拿SSH配免密登录,给我妈那台老群晖配异地备份的时候用过:本地ssh-keygen生成密钥,把公钥推到对端机器上,以后两台NAS之间跑脚本就不用人工输密码了。这里面有个权限坑我踩过——对端的家目录和.ssh目录得是700,authorized_keys文件得是600,权限松了系统会当没看见这个密钥,静默退回要密码,当时折腾了半晚上才发现,这段配两台NAS异地备份的过程我完整记过。
安全三条底线:转发22那半月我天天被扫
这里说教训。前年我图省事,想在外面也能SSH连回家里NAS,就在路由器上把22端口转发到了公网。半个月后我登群晖的安全性日志一看,后背发凉:几千条登录失败记录,全是境外IP,试的账号清一色admin、root、test、ubuntu,一秒钟好几次,纯靠脚本在跑字典。
能没出事,靠的是密码够长加上运气。当天我就把转发删了,之后再没一条失败记录。从那以后我给自己定了三条底线,你也照抄:
底线一,SSH端口永远不转发到公网。想在外面连回来,走VPN或者Tailscale这类组网工具,连上以后你人在家里的网络环境里,再SSH内网地址,跟在家一模一样。这跟NAS防勒索那条「管理页不暴露」是一个道理,攻击者摸不到门,你就不需要跟他的字典赛跑。
底线二,改高位端口别太迷信。网上教程都教把22改成18022之类的高位端口,有用,但只防那些扫全段的脚本——定向盯上你的攻击者全端口都扫。我家内网我连端口都懒得改,反正出不了门。
底线三,密钥登录是进阶选项,不是必选项。密钥比密码硬,但配的过程有权限坑,而且一旦密钥文件丢了、又提前关了密码登录,你就把自己锁门外了。家用场景只要做到第一条不暴露公网,密码16位往上,再配上自动封锁就够了——群晖在控制面板的安全性、帐户里有个「登录失败自动封锁」,启用它,失败几次就把来源IP关小黑屋,这个是图形界面点两下的事,比密钥省心。飞牛新固件的安全设置里也带了类似的自动封禁开关,有就顺手开上。
什么情况需要开、什么情况别碰
也不是人人都得开。我给家里那台开,是因为折腾的活多;给我妈那台开,是为了跑备份脚本;但表弟要是只拿NAS存存照片看看电影,这开关一辈子不开也毫无损失。
| 你的情况 | 要不要开 |
| 要查日志、装网页后台没有的工具 | 开,用完可以再关掉 |
| 两台NAS之间要跑自动备份脚本 | 开,顺便配免密 |
| 纯粹存文件、看片、手机备份照片 | 不用开,少一扇门少一份心 |
| 开了想从公司直接连家里 | 开可以,但走VPN,别转发端口 |
收尾给个顺序:先在系统设置里把SSH开关打开,用局域网的电脑连一次确认能登,要跑脚本就配免密,顺手把自动封锁开了,再记住那条底线——端口不转发,远程走VPN。开关本身不危险,危险的是你以为开了就完事,把它直接怼到公网上。

发表评论