news 2026/3/4 10:50:02

Windows SSH免密登录终极指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows SSH免密登录终极指南

🔧 背景说明

在 Windows 系统中配置 SSH 免密登录时,由于系统对文件权限、路径命名和配置格式的特殊要求,用户常会遇到以下问题:

  • ssh-copy-id 命令不可用
  • 出现 Permission denied 错误
  • 公钥复制后仍无法登录
  • authorized_keys 文件未生效
  • 修改 sshd_config 需要管理员权限

本文将详细介绍完整解决方案,提供 PowerShell/Git Bash 命令,助您快速实现免密登录。

✅ 第一步:生成 SSH 密钥对(客户端操作)

在本地电脑执行(推荐使用 Git Bash 或 WSL):

ssh-keygen -t rsa -b 4096

密钥默认保存路径:C:\Users\[用户名]\.ssh\

  • 私钥:id_rsa(需严格保密)
  • 公钥:id_rsa.pub(用于分享)

💡 提示:直接回车跳过 passphrase 设置(除非需要额外安全保护)

📤 第二步:部署公钥到目标服务器

❌ 问题 1:Windows 缺少 ssh-copy-id

✅ 解决方案:使用 Git Bash(下载地址)

ssh-copy-id lenovo@192.168.3.23

⚠️ 注意:需要输入目标电脑上 lenovo 用户的真实密码(非 PIN 码)

❌ 问题 2:无法自动部署公钥

✅ 手动部署方案:

  1. 获取本地公钥:
cat ~/.ssh/id_rsa.pub

复制输出的 ssh-rsa 开头的公钥内容

  1. 在目标服务器创建 authorized_keys:
mkdir C:\Users\lenovo\.ssh notepad C:\Users\lenovo\.ssh\authorized_keys
  1. 确保文件名准确:
  • 显示文件扩展名(资源管理器 → 查看 → 勾选"文件扩展名")
  • 确认文件名为 authorized_keys(无.txt 后缀)

⚙️ 第三步:配置 SSH 服务端(目标电脑)

❌ 问题 3:sshd_config 配置未启用

✅ 配置步骤(需管理员权限):

  1. 管理员身份运行 PowerShell
  2. 编辑配置文件:
notepad C:\ProgramData\ssh\sshd_config
  1. 取消注释以下配置:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
  1. (可选)禁用密码登录:
PasswordAuthentication no
  1. 保存并重启服务:
Restart-Service sshd

💡 如遇保存问题,先执行:

takeown /f "C:\ProgramData\ssh\sshd_config" icacls "C:\ProgramData\ssh\sshd_config" /grant administrators:F

🔒 第四步:设置文件权限(Windows 关键步骤)

✅ 管理员身份执行:

# 设置 .ssh 目录权限 icacls "C:\Users\lenovo\.ssh" /inheritance:r icacls "C:\Users\lenovo\.ssh" /grant:r "SYSTEM:(F)" icacls "C:\Users\lenovo\.ssh" /grant:r "Administrators:(F)" icacls "C:\Users\lenovo\.ssh" /grant:r "lenovo:(F)" # 设置 authorized_keys 权限 icacls "C:\Users\lenovo\.ssh\authorized_keys" /inheritance:r icacls "C:\Users\lenovo\.ssh\authorized_keys" /grant:r "SYSTEM:(R)" icacls "C:\Users\lenovo\.ssh\authorized_keys" /grant:r "Administrators:(R)" icacls "C:\Users\lenovo\.ssh\authorized_keys" /grant:r "lenovo:(R)"

✅ 此步骤可解决 80% 的权限问题!

🧪 第五步:测试连接

在本地终端执行:

ssh lenovo@192.168.3.23

成功标志:直接进入命令行 失败排查:使用调试模式

ssh -v lenovo@192.168.3.23

🚫 常见错误及解决方案

错误信息原因解决方案
Permission denied公钥未部署/权限错误检查 authorized_keys 及权限
ssh-copy-id: command not foundWindows 默认不支持使用 Git Bash
authorized_keys 不生效文件扩展名问题确保无.txt 后缀
无法修改 sshd_config权限不足管理员身份运行

📌 检查清单

✅ 客户端:

  • 已生成密钥对
  • 使用 Git Bash 部署公钥

✅ 服务器端:

  • authorized_keys 存在且内容正确
  • 文件名无.txt 后缀
  • sshd_config 启用公钥认证
  • 权限设置正确
  • 服务已重启

🎁 附:一键修复脚本(服务器端)

保存为 fix-ssh.ps1,管理员身份运行:

$User = "lenovo" $SshDir = "C:\Users\$User\.ssh" # 创建目录 if (!(Test-Path $SshDir)) { mkdir $SshDir } # 设置权限 icacls $SshDir /inheritance:r icacls $SshDir /grant:r "SYSTEM:(F)" icacls $SshDir /grant:r "Administrators:(F)" icacls $SshDir /grant:r "$User:(F)" if (Test-Path "$SshDir\authorized_keys") { icacls "$SshDir\authorized_keys" /inheritance:r icacls "$SshDir\authorized_keys" /grant:r "SYSTEM:(R)" icacls "$SshDir\authorized_keys" /grant:r "Administrators:(R)" icacls "$SshDir\authorized_keys" /grant:r "$User:(R)" } # 提示配置检查 Write-Host "请确认 C:\ProgramData\ssh\sshd_config 包含:" Write-Host "PubkeyAuthentication yes" Write-Host "AuthorizedKeysFile .ssh/authorized_keys" # 重启服务 Restart-Service sshd Write-Host "SSH 服务已重启!"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 6:54:00

财务数据智能解读:DeepSeek分析利润表生成异常波动原因报告

1. 引言:利润表解读的重要性与挑战在当今复杂多变的经济环境中,企业管理者、投资者、债权人及监管机构对财务信息的准确解读提出了前所未有的高要求。利润表,作为企业财务报告体系的核心组成部分之一,集中反映了企业在特定会计期间…

作者头像 李华
网站建设 2026/3/3 14:36:04

PCIe/CXL布线如何重构AI数据中心互联格局?

当AI模型参数规模突破万亿级,当分布式计算成为标配,传统的资源互联方式早已不堪重负。而PCIe与CXL技术的协同演进,正以布线革命为突破口,重新定义数据中心的资源调度规则。 数据中心的互联技术迭代,始终围绕着"速度、兼容性、扩展性"三大核心诉求。PCIe与CXL两大…

作者头像 李华
网站建设 2026/3/4 5:08:07

Java计算机毕设之基于Spring Boot 社区助老志愿者服务平台的设计与实现基于springboot的老年志愿者服务智慧平台(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/22 17:52:55

鲲鹏原生加速之力:BoostKit KVecTurbo 源码解析与实战

在鲲鹏计算产业生态中,性能优化始终是开发者关注的核心命题。BoostKit 作为华为推出的应用使能套件,提供了大量的软硬件协同加速能力。其中,KVecTurbo(Kunpeng Vector Turbo)作为一个专注于向量化加速的轻量级开源库&a…

作者头像 李华
网站建设 2026/3/3 12:09:55

如何配置TensorRT的日志级别与输出格式?

如何配置TensorRT的日志级别与输出格式 在构建高性能AI推理系统时,我们常常会遇到这样的场景:模型转换看似顺利,但最终生成的引擎却无法运行;或者推理延迟远高于预期,却找不到瓶颈所在。这些问题背后,往往缺…

作者头像 李华
网站建设 2026/3/3 14:01:48

awk项目练习以及阶段项目

目录 awk项目练习 1、检测两台服务器指定目录下的文件一致性 2、定时清空文件内容,定时记录文件大小 3、检测网卡流量,并按规定格式记录在日志中 4、计算文档每行出现的数字个数,并计算整个文档的数字总数 5、监测 Nginx 访问日志 502 …

作者头像 李华