引言
在家庭或办公环境中,飞牛NAS(fnOS)作为一款基于Linux的轻量级NAS系统,凭借其简洁的界面和强大的功能深受用户喜爱。但很多时候,我们无法直接坐在NAS主机前操作——比如你在公司需要远程重启服务,或者在床上想快速检查日志。这时,远程访问就成了刚需。
飞牛NAS支持两种主流的远程管理方式:SSH(安全外壳协议) 和 Web终端。前者适合命令行爱好者,后者提供浏览器内的终端体验。本文将手把手教你如何配置并安全使用这两种方式。
前置条件
在开始前,请确保:
- 飞牛NAS已安装并正常启动。
- 你拥有管理员权限(默认用户
fnadmin或root)。
- NAS处于同一局域网内(若需外网访问,后续会简要提及端口转发)。
一、启用并配置SSH
SSH是远程管理Linux系统的标准方式。飞牛NAS默认可能未开启SSH服务,或仅允许局域网访问。
1.1 检查SSH服务状态
首先,通过本地键盘或之前配置的WebUI登录NAS,打开终端(或直接连接显示器)。运行:
sudo systemctl status sshd
如果显示active (running),恭喜你,SSH已开启;若显示inactive (dead),则需要手动启动。
1.2 启动并设置开机自启
sudo systemctl start sshd
sudo systemctl enable sshd
1.3 修改SSH默认端口(安全建议)
默认端口22易被扫描攻击,建议改为高位端口(如2222)。编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
找到#Port 22这一行,去掉注释并修改:
Port 2222
同时,建议禁用root密码登录(使用密钥更安全)。找到PermitRootLogin,改为:
PermitRootLogin prohibit-password
保存并退出(Ctrl+O,Ctrl+X),然后重启SSH服务:
sudo systemctl restart sshd
1.4 配置防火墙(如有)
飞牛NAS可能内置了iptables或firewalld。如果启用了防火墙,需要放行新的SSH端口:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
或者使用iptables:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
1.5 客户端连接测试
现在,从另一台电脑尝试SSH连接。假设NAS的IP为192.168.1.100,用户名为fnadmin:
ssh -p 2222 [email protected]
首次连接会提示确认指纹,输入yes后,输入密码即可登录。
外网访问提示:若需要从互联网连接,需在路由器上做端口转发(将外部端口映射到NAS的局域网IP和SSH端口),并建议使用密钥认证而非密码。
二、配置Web终端
Web终端让你通过浏览器直接访问NAS的命令行,无需额外客户端。飞牛NAS的WebUI本身可能集成此功能,但部分版本需手动安装。
2.1 安装Web终端工具
飞牛NAS基于Debian,推荐使用ttyd或gotty。这里以ttyd为例:
sudo apt update
sudo apt install -y ttyd
2.2 配置ttyd
创建一个systemd服务文件以便管理:
sudo nano /etc/systemd/system/ttyd.service
填入以下内容(请根据实际需求调整端口和用户):
[Unit]
Description=ttyd Web Terminal
After=network.target
[Service]
ExecStart=/usr/bin/ttyd --port 7681 --credential fnadmin:你的密码 bash
Restart=always
User=fnadmin
Group=fnadmin
[Install]
WantedBy=multi-user.target
注意:--credential选项会启用HTTP基本认证,建议设置强密码。如果你只想让局域网访问,可省略此参数,但生产环境务必启用认证。
保存后,启动并启用服务:
sudo systemctl daemon-reload
sudo systemctl start ttyd
sudo systemctl enable ttyd
2.3 访问Web终端
打开浏览器,输入http://NAS的IP:7681,例如http://192.168.1.100:7681。如果设置了认证,会弹出登录框,输入用户名和密码即可进入终端。
2.4 安全加固
- 使用HTTPS:ttyd支持SSL证书,可通过
--ssl参数和证书路径启用。例如:
bash
ExecStart=/usr/bin/ttyd --port 7681 --ssl --ssl-cert /etc/ssl/certs/nas.crt --ssl-key /etc/ssl/private/nas.key bash
- 限制来源IP:通过iptables只允许特定IP访问7681端口:
bash
sudo iptables -A INPUT -p tcp --dport 7681 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 7681 -j DROP
- 定期更换密码:修改ttyd服务文件中的
--credential参数,然后重启服务。
三、SSH vs Web终端:如何选择?
| 特性 |
SSH |
Web终端 |
| 客户端依赖 |
需要SSH客户端(如Putty) |
仅需浏览器 |
| 安全性 |
支持密钥、端口隐藏 |
依赖HTTPS和认证 |
| 文件传输 |
支持scp/sftp |
不支持(仅命令行) |
| 持久会话 |
支持tmux/screen保持会话 |
浏览器关掉即断开 |
| 适用场景 |
长期管理、脚本自动化 |
临时检查、移动设备访问 |
建议:日常管理用SSH(配合密钥),临时应急用Web终端。
四、常见问题排查
4.1 SSH连接被拒绝
- 检查SSH是否运行:
sudo systemctl status sshd
- 检查防火墙规则:
sudo iptables -L -n
- 确认端口号是否修改且客户端使用正确端口
4.2 Web终端无法访问
- 确认ttyd进程存在:
ps aux | grep ttyd
- 检查端口是否被占用:
sudo netstat -tlnp | grep 7681
- 浏览器F12查看网络请求是否有CORS或证书错误
4.3 外部网络访问慢或不稳定
- 考虑使用DDNS(动态域名解析)绑定域名
- 避免使用运营商封锁的端口(如80、443)
- 使用frp或Tailscale等内网穿透工具替代直接端口转发
结语
通过以上配置,你的飞牛NAS已经具备了强大的远程管理能力。SSH适合深度操作,Web终端方便临时接管。无论你是在办公室远程维护家庭NAS,还是旅途中紧急处理系统问题,这两种方式都能让你游刃有余。
最后提醒:安全无小事。无论使用哪种方式,务必使用强密码、定期更新系统、监控登录日志。NAS存着你的重要数据,保护好它,才能安心享受远程的便利。