Files
fnshell/setup-nas-poweroff.sh

61 lines
1.4 KiB
Bash
Raw Normal View History

2025-12-16 21:42:30 +08:00
#!/bin/bash
set -e
2025-12-22 19:01:15 +08:00
echo "== NAS SSH 远程关机初始化脚本Root 模式) =="
2025-12-16 21:42:30 +08:00
echo "作者: wukongdaily"
2025-12-22 19:01:15 +08:00
echo "用途: 允许 OpenWrt 通过 SSH 密钥安全关机 NASfnOS 兼容)"
2025-12-16 21:42:30 +08:00
echo
2025-12-22 19:01:15 +08:00
# 必须使用 root
if [ "$EUID" -ne 0 ]; then
echo "❌ 请使用 root 用户运行此脚本"
2025-12-16 21:42:30 +08:00
exit 1
fi
SYSTEMCTL_PATH="$(command -v systemctl)"
if [ -z "$SYSTEMCTL_PATH" ]; then
echo "❌ 未检测到 systemctl非 systemd 系统)"
exit 1
fi
2025-12-22 19:01:15 +08:00
SSH_DIR="/root/.ssh"
AUTH_KEYS="$SSH_DIR/authorized_keys"
2025-12-16 21:48:24 +08:00
2025-12-22 19:01:15 +08:00
echo "当前用户: root"
echo "systemctl 路径: $SYSTEMCTL_PATH"
echo "SSH 公钥文件: $AUTH_KEYS"
2025-12-16 21:42:30 +08:00
echo
2025-12-22 19:01:15 +08:00
echo "将执行以下操作:"
echo " - 创建 /root/.ssh如不存在"
echo " - 初始化 authorized_keys 权限"
echo " - 不修改 sudoers直接使用 root"
2025-12-16 21:42:30 +08:00
echo
read -p "是否继续?[y/N]: " CONFIRM
[[ "$CONFIRM" =~ ^[Yy]$ ]] || exit 0
2025-12-22 19:01:15 +08:00
echo
echo "== 初始化 SSH 目录 =="
2025-12-16 21:42:30 +08:00
2025-12-22 19:01:15 +08:00
mkdir -p "$SSH_DIR"
chmod 700 "$SSH_DIR"
2025-12-16 21:42:30 +08:00
2025-12-22 19:01:15 +08:00
touch "$AUTH_KEYS"
chmod 600 "$AUTH_KEYS"
echo "✔ SSH 目录与权限已设置"
2025-12-16 21:42:30 +08:00
echo
echo "🎉 初始化完成"
2025-12-22 19:01:15 +08:00
echo
echo "下一步你需要做的:"
echo "1⃣ 将 OpenWrt 的 SSH 公钥追加到:"
echo " $AUTH_KEYS"
echo
echo "2⃣ OpenWrt 侧测试命令:"
echo " ssh root@<NAS_IP> \"$SYSTEMCTL_PATH poweroff\""
echo
echo "⚠️ 建议:"
echo " - 该 key 只用于 OpenWrt 自动化"
echo " - 不要用于人工登录"