Windows 下配置 SSH 免密登录飞牛NAS指南
免密码登录(SSH免密认证)基于公私钥的身份认证机制,免密登录最直接的优势是极大提升了运维操作的便捷性和效率,基于密钥的免密登录机制实际上比传统的密码认证更为安全,在享受免密登录便利的同时请妥善保管私钥,私钥应视为最高机密,存储在安全的位置,不应公开分享或存储在不受信任的计算机上。
安装 OpenSSH 客户端
Windows 10/11 默认已内置 OpenSSH 客户端
检查是否安装
:在 PowerShell 或 CMD 中输入:
1
ssh -V
如果显示版本号,说明已安装
手动安装
:如果未安装,可通过以下路径安装:
- 设置 → 应用 → 可选功能 → 添加功能 → 搜索 “OpenSSH Client”
生成 SSH 密钥对
在 PowerShell 或 CMD 中执行(请自行替换命令中的 your_email@example.com 为你自己的邮箱):
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
操作提示:
- 按提示输入保存路径(默认直接回车)
- 设置密钥密码(可选,直接回车表示不设置)
- 生成位置:
C:\Users\<用户名>\.ssh\ - 生成文件:
id_rsa:私钥(切勿泄露)id_rsa.pub:公钥(用于配置到服务器)
将公钥复制到 NAS(服务器)
方法 :手动复制
复制公钥内容:
- 打开
C:\Users\<用户名>\.ssh\id_rsa.pub - 复制全部内容
- 打开
登录 NAS 并配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# 1. 登录 NAS(假设登录用户名为:nasuser)
ssh nasuser@192.168.1.100
# 2. 获取root权限
sudo -i
# 3. 创建 .ssh 目录(如果不存在)
mkdir -p ~nasuser/.ssh
# 4. 编辑 authorized_keys 文件
nano ~nasuser/.ssh/authorized_keys
# 5. 将复制的公钥内容粘贴到文件末尾并保存
# 确保每个公钥单独一行,然后按下 Ctrl+X 后再按 Enter 保存,最后按 Ctrl+O 退出 nano 编辑器
# 6. 设置权限
chmod 700 ~nasuser/.ssh
chmod 600 ~nasusern/.ssh/authorized_keys修改 sshd_config,启用公钥认证:
1
2sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/sshd_config重启 SSH 服务:
1
2
3systemctl restart sshd
# 或
ervice ssh restart
测试免密登录
在 Windows PowerShell 中执行:
1 | ssh nasuser@192.168.1.100 |
预期结果:
- 成功:直接进入 NAS 命令行,无需输入密码
- 失败:仍需输入密码或提示错误
高级配置(可选)
配置 SSH Config 简化连接
在 C:\Users\<用户名>\.ssh\config 文件中添加:
1 | Host my-nas |
使用方式 (在PowerShell输入下面的命令即可登录NAS):
1 | ssh my-nas # 替代 ssh nasuser@192.168.1.100, |
使用更安全的密钥算法(可选)
1 | ssh-keygen -t ed25519 -C "your_email@example.com" |
Ed25519 算法比 RSA 更安全、性能更好
安全注意事项
- 私钥保护:
- 私钥文件 (
id_rsa) 相当于密码,切勿泄露 - 不要将私钥发送给他人或上传到网络
- 私钥文件 (
- 公钥管理:
- 定期检查
authorized_keys文件,移除不再使用的公钥 - 为不同设备使用不同密钥对
- 定期检查
- NAS 安全:
- 建议禁用 SSH 密码登录(配置后)
- 修改 SSH 默认端口
- 使用防火墙限制访问 IP
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 瞎折腾!
评论





