Synology 群晖 NAS SSH 密钥认证配置教程

0
88

前提说明

  • 本教程适用于 DSM 6.x / DSM 7.x
  • 使用用户级 SSH(非 root),更安全
  • 如需 root 登录,请使用:
sudo -i

① 启用 SSH 服务

  1. 登录 DSM 管理界面
  2. 打开: 3.控制面板 → 终端机和 SNMP → 终端机*
  3. 勾选 启用 SSH 服务
  4. 建议修改默认端口 22 → 50022 或其他高位端口(提升安全性)
  5. 点击 应用 保存设置

② 在客户端生成 SSH 密钥对

在本地电脑执行下面的命令生成一对密钥:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成后默认文件位置:

  • 私钥:~/.ssh/id_rsa
  • 公钥:~/.ssh/id_rsa.pub

可自定义密钥文件路径:

ssh-keygen -t rsa -b 4096 -f /config/.ssh/id_rsa -N ""

生成结果示例:

/config/.ssh/id_rsa        ← 私钥
/config/.ssh/id_rsa.pub    ← 公钥

:locked: 建议: 设置密钥密码以提升安全性(除非你用于自动化脚本)。


③ 将公钥部署到群晖 NAS

3.1 SSH 登录群晖

ssh -p 50022 your_username@nas_ip_address

3.2 创建 .ssh 目录并设置权限

mkdir -p ~/.ssh
chmod 700 ~/.ssh

3.3 将公钥上传到群晖 NAS

:check_mark: 方法 1:使用 scp 上传(推荐)

scp -P 50022 ~/.ssh/id_rsa.pub your_username@nas_ip_address:~/.ssh/authorized_keys

:check_mark: 方法 2:手动复制公钥内容

echo "your_public_key_content" >> ~/.ssh/authorized_keys

3.4 设置 authorized_keys 文件权限

chmod 600 ~/.ssh/authorized_keys

④ 设置用户主目录权限

为确保 SSH 能正常识别密钥,需要保证用户主目录权限正确:

chmod 755 ~

权限解释:

  • 7 → 用户可读/写/执行
  • 5 → 其他人只读 + 执行
  • 不能是 700,否则 SSH 会拒绝读取 authorized_keys

⑤ 配置 SSH 服务启用公钥登录(如需)

通常群晖已默认开启公钥登录,但如你需要确认或修改:

sudo vim /etc/ssh/sshd_config

确保以下两行已开启:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改后重启 SSH 服务:

sudo synoservicectl --restart sshd

⑥ 测试 SSH 密钥登录

在客户端执行:

ssh -i ~/.ssh/id_rsa -p 50022 your_username@nas_ip_address

如果一切配置正确,你将:

  • 直接登录成功
  • 无需输入 NAS 密码

:locked_with_key: 安全加固建议(可选)

建议额外增强 SSH 安全性:

:check_mark: 禁用密码登录(强烈推荐)

编辑配置:

sudo vim /etc/ssh/sshd_config

设置:

PasswordAuthentication no

重启 SSH:

sudo synoservicectl --restart sshd

:warning: 禁用前请确认“密钥登录已成功测试”。 否则会导致无法通过 SSH 登录!


:tada: 配置完成

你已成功在 Synology 群晖 NAS 中启用了 SSH 密钥认证方式,今后无需密码即可安全登录。

发布回复

请输入评论!
请输入你的名字