当前位置: 首页 > news >正文

飞牛OS Root用户SSH公钥登录完整教程

飞牛OS Root用户SSH公钥登录完整教程
前言
飞牛OS(fnOS)是一款基于Debian的NAS操作系统,提供了强大的数据存储和管理功能。在日常使用和管理过程中,SSH远程登录是必不可少的重要工具。然而,出于安全考
虑,飞牛OS默认禁止root用户直接SSH登录。
本教程将详细介绍如何配置SSH公钥认证,实现安全便捷的root用户远程登录。
准备工作

  1. 环境要求
    ● 一台已安装飞牛OS的设备
    ● 客户端计算机(Windows/Linux/macOS)
    ● 网络连接正常
  2. 开启SSH服务
    在飞牛OS Web界面中:
  3. 进入 设置 → SSH
  4. 打开 SSH 功能 开关
  5. 确保端口设置为默认的22
    SSH基础知识
    什么是SSH公钥认证?
    SSH公钥认证是一种比密码更安全的身份验证方式:
    ● 私钥:保存在客户端,绝对不能泄露
    ● 公钥:部署在服务器上,用于验证身份
    ● 优势:无需输入密码、防暴力破解、更安全
    飞牛OS的用户体系
    根据官方文档:
    ● 管理员账户:创建系统时设置的用户,拥有sudo权限
    ● root用户:系统超级管理员,密码与管理员密码相同
    ● 安全策略:默认禁止root直接SSH登录,需先登录管理员账户再切换
    详细配置步骤
    第一步:生成SSH密钥对
    Windows客户端:
    打开PowerShell或命令提示符
    ssh-keygen -t rsa -b 4096 -f "C:\Users\你的用户名.ssh\id_rsa" -N ""
    Linux/macOS客户端:
    打开终端
    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
    参数说明:
    ● -t rsa:使用RSA算法
    ● -b 4096:4096位密钥长度(更安全)
    ● -f:指定密钥文件路径
    ● -N "":不设置密码(如需更高安全可设置)
    第二步:配置管理员账户SSH公钥
    首先为管理员账户配置SSH公钥登录:
    使用密码登录管理员账户
    ssh fnos@192.168.31.245
    创建SSH目录(如果不存在)
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    添加公钥到authorized_keys
    echo "你的公钥内容" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    或者使用ssh-copy-id(推荐):

ssh-copy-id -i ~/.ssh/id_rsa.pub fnos@192.168.31.245
第三步:使用sudo配置root用户SSH
3.1 验证sudo权限
登录管理员账户后测试sudo
ssh -i ~/.ssh/id_rsa fnos@192.168.31.245
echo "你的管理员密码" | sudo -S whoami
如果返回root,说明sudo权限正常。
3.2 创建root SSH目录
创建root的SSH目录
echo "你的管理员密码" | sudo -S mkdir -p /root/.ssh
echo "你的管理员密码" | sudo -S chmod 700 /root/.ssh
3.3 添加公钥到root账户
方法一:直接追加公钥
echo "你的管理员密码" | sudo -S "echo '你的公钥内容' > /root/.ssh/authorized_keys"
方法二:复制文件(推荐)
echo "你的管理员密码" | sudo -S cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys
3.4 设置正确权限
echo "你的管理员密码" | sudo -S chmod 600 /root/.ssh/authorized_keys
echo "你的管理员密码" | sudo -S chown root:root /root/.ssh -R
第四步:修改SSH配置允许root登录
备份原配置
echo "你的管理员密码" | sudo -S cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
修改配置允许root登录
echo "你的管理员密码" | sudo -S sed -i 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
验证修改
echo "你的管理员密码" | sudo -S grep PermitRootLogin /etc/ssh/sshd_config
第五步:重启SSH服务
重启SSH服务使配置生效
echo "你的管理员密码" | sudo -S systemctl restart ssh
或者(根据系统版本不同)
echo "你的管理员密码" | sudo -S service ssh restart
第六步:测试root用户SSH登录
测试root用户SSH公钥登录
ssh -i ~/.ssh/id_rsa root@192.168.31.245 "whoami && pwd"
如果返回root和/root,说明配置成功!
高级配置
创建SSH配置文件(可选)
在客户端创建~/.ssh/config文件:
fnOS管理员账户配置
Host fnos-admin
HostName 192.168.31.245
User fnos
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
fnOS root账户配置
Host fnos-root
HostName 192.168.31.245
User root
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
配置完成后,可以使用简化命令:
登录管理员账户
ssh fnos-admin
登录root账户
ssh fnos-root
脚本自动化配置
创建自动化配置脚本setup_root_ssh.sh:

!/bin/bash

飞牛OS Root SSH配置脚本
使用方法: ./setup_root_ssh.sh [服务器IP] [用户名] [密码]
SERVER_IP=${1:-"192.168.31.245"}
USERNAME=${2:-"fnos"}
PASSWORD=${3:-"your_password"}
echo "开始配置飞牛OS Root SSH访问..."
echo "服务器: $SERVER_IP"
echo "用户名:$USERNAME"
生成SSH密钥对(如果不存在)
if [ ! -f ~/.ssh/id_rsa ]; then
echo "生成SSH密钥对..."
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
fi
获取公钥内容
PUBLIC_KEY=$(cat ~/.ssh/id_rsa.pub)
配置管理员SSH
echo "配置管理员SSH访问..."
ssh-copy-id -i ~/.ssh/id_rsa.pub $USERNAME@$SERVER_IP
配置root SSH
echo "配置root SSH访问..."
ssh -i ~/.ssh/id_rsa $USERNAME@$SERVER_IP << EOF
echo "$PASSWORD" | sudo -S mkdir -p /root/.ssh
echo "$PASSWORD" | sudo -S chmod 700 /root/.ssh
echo "$PASSWORD" | sudo -S "echo '$PUBLIC_KEY' > /root/.ssh/authorized_keys"
echo "$PASSWORD" | sudo -S chmod 600 /root/.ssh/authorized_keys
echo "$PASSWORD" | sudo -S chown root:root /root/.ssh -R
echo "$PASSWORD" | sudo -S sed -i 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
echo "$PASSWORD" | sudo -S systemctl restart ssh
EOF
测试连接
echo "测试root SSH连接..."
if ssh -i ~/.ssh/id_rsa root@$SERVER_IP "whoami" | grep -q "root"; then
echo "✅ Root SSH配置成功!"
echo "现在可以使用以下命令登录root账户:"
echo "ssh -i ~/.ssh/id_rsa root@$SERVER_IP"
else
echo "❌ 配置失败,请检查错误信息"
fi
安全建议

  1. 密钥安全
    ● 私钥文件权限应设置为600
    ● 不要在网络中传输私钥
    ● 定期更换密钥对
    ● 考虑为私钥设置密码
  2. 系统安全
    ● 限制SSH访问的IP地址
    ● 使用非标准端口
    ● 禁用密码认证(仅使用密钥)
    ● 定期检查登录日志
  3. 监控和审计
    查看SSH登录日志
    ssh root@192.168.31.245 "journalctl -u ssh -f"
    查看当前登录用户
    ssh root@192.168.31.245 "who"
    常见问题解决
    问题1:Permission denied (publickey)
    解决方案:
  4. 检查公钥是否正确添加到~/.ssh/authorized_keys
  5. 验证文件权限是否正确(600)
  6. 确认SSH配置中PubkeyAuthentication yes
    问题2:sudo需要终端
    解决方案:
    使用-S选项从标准输入读取密码
    echo "密码" | sudo -S 命令
    问题3:SSH服务重启失败
    解决方案:
    检查服务状态
    systemctl status ssh
    查看错误日志
    journalctl -u ssh -xe
    问题4:公钥认证不工作
    解决方案:
  7. 检查~/.ssh目录权限(700)
  8. 确认authorized_keys文件权限(600)
  9. 验证SSH配置中的路径设置
    总结
    通过本教程的详细步骤,您已经成功配置了飞牛OS的root用户SSH公钥登录。这种方法不仅提供了便捷的远程管理方式,还大大提高了系统安全性。
    核心要点回顾:
  10. 飞牛OS默认禁止root直接SSH登录(安全考虑)
  11. 可以通过sudo权限配置root的SSH公钥
  12. 需要修改SSH配置允许root登录
  13. SSH公钥认证比密码更安全可靠
    最佳实践:
    ● 日常管理使用管理员账户
    ● 必要时才使用root权限
    ● 定期更新和维护SSH配置
    ● 保持系统安全更新
    希望本教程对您管理飞牛OS有所帮助!如有问题,欢迎留言讨论。
http://www.jsqmd.com/news/34158/

相关文章:

  • 红黑树简
  • ⸢ 柒-Ⅲ⸥⤳ 可信纵深防御建设方案:数据使用可信端安全可信 - 详解
  • 【日记】我从来没见过有酒店这么设计的(533 字)
  • 第181-182天:横向移动篇PTH哈希PTT票据PTK密匙Kerberoast攻击点TGTNTLM爆破
  • 2025年上海装修设计标杆公司最新推荐:中古风装修/轻法式装修/现代简约装修/极简风装修、上海千祥建筑定义品质居住新标准
  • AI在开源情报搜集系统中的应用汇总
  • 清理docker的overlay2目录
  • 升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
  • 网站在苹果 Safari 进行适配遇到的问题
  • Python对象模型的认知陷阱:类的`__name__`属性与名字绑定的本质辨析
  • Python环境教程(三)-环境高级之uv pixi
  • 升鲜宝生鲜配送供应链管理系统---PMS 商品模块 + 动态翻译设计说明
  • 深入浅出 SPA/MPA
  • CPP 学习笔记 语法总结 - 阿源
  • 2025 11 7
  • 深入解析:大数据集群环境搭建(Ubantu)
  • Unity Shader 入门教程:从零开始编写你的第一个 Shader
  • 中电金信​​:「AI智变」这个AI自动化工厂,助力模型高质效落地
  • 实用指南:Linux内核架构浅谈2- Linux内核与硬件交互的底层逻辑:硬件抽象层的作用
  • 2025年有机纯驼奶粉加工厂权威推荐榜单:初乳配方驼乳粉/全脂羊奶粉/绵羊奶粉源头厂家精选
  • 2025年网络安全法要求下,主流项目管理工具如何选
  • 转录组基因表达差异分析全流程:以GSE65682为例
  • 英伟达DCGM说明和安装
  • 阿卡德付费文章:让每个普通人的知识,都能变成真金白银
  • Mysql杂志(三十)——索引失效情况 - 指南
  • 84用python命令查看安装了那些库
  • 84用python命令查看安装了那些库
  • 使用NIFI 同步数据库表
  • 2025年尖顶篷房生产厂家权威推荐榜单:球形篷房/多边形篷房/会展篷房源头厂家精选
  • 手把手教你在unity中实现一个视觉小说系统(一)