在 Windows 10 上实现免密码 SSH 登录

前言

在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接。为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入密码的繁琐过程。

本文将详细介绍如何在 Windows 10 上配置 SSH 免密码登录,类似于 Linux 系统上的 ssh-add 功能。

1. 准备工作:确保 OpenSSH 已安装

在开始配置之前,确保你的 Windows 10 上已安装 OpenSSH 客户端。这里我们先检查并安装 OpenSSH:

  • 打开 设置 -> 应用 -> 可选功能 ,查找是否有 OpenSSH 客户端OpenSSH 服务
  • 如果没有安装,点击 添加功能 ,选择 OpenSSH 客户端 进行安装。

2. 启动 OpenSSH Authentication Agent

要实现免密码登录,我们需要启用 ssh-agent 服务,这个服务负责存储和管理 SSH 密钥。

  • 打开 服务管理器 :按下 Win + R,输入 services.msc,然后回车。
  • 在服务列表中找到 OpenSSH Authentication Agent ,右键点击并选择 启动 ,然后将启动类型设置为 自动

或者,你也可以通过 PowerShell 来启动 ssh-agent 服务:

powershell 复制代码
Start-Service ssh-agent
Set-Service -Name ssh-agent -StartupType Automatic

3. 生成 SSH 密钥对

如果你还没有生成 SSH 密钥,可以通过以下步骤创建:

  1. 打开终端(命令提示符或者 PowerShell)。

  2. 输入以下命令生成 SSH 密钥:

    bash 复制代码
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    按提示操作(默认存储路径为 ~/.ssh/id_rsa)。

  3. 输入密钥存储位置和密码(如果不想设置密码,可以直接按回车跳过)。

4. 将 SSH 密钥添加到 ssh-agent

接下来,需要将生成的私钥添加到 ssh-agent 中,以便在连接时自动使用密钥进行认证。

  1. 打开终端(命令提示符或者 PowerShell)。

  2. 输入以下命令加载密钥:

    bash 复制代码
    ssh-add ~/.ssh/id_rsa

这样,ssh-agent 就会管理你的私钥,免去每次连接时输入密码的需求。

5. 将公钥复制到远程服务器

为了让远程服务器识别你的 SSH 密钥,你需要将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。你可以手动复制公钥,或者使用 ssh-copy-id 工具来完成:

  1. 复制公钥:

    bash 复制代码
    cat ~/.ssh/id_rsa.pub
  2. 将公钥复制到远程服务器的 ~/.ssh/authorized_keys 文件中。

如果你使用 ssh-copy-id,命令如下:

bash 复制代码
ssh-copy-id user@remote_host

6. 测试免密码 SSH 登录

完成以上配置后,你可以尝试连接远程服务器:

bash 复制代码
ssh user@remote_host

如果配置成功,你将无需输入密码即可直接连接。

总结

通过以上步骤,你可以轻松实现 Windows 10 上的免密码 SSH 登录功能,类似于 Linux 上的 ssh-add。这种配置不仅提升了连接的效率,也使得远程管理变得更加便捷和安全。如果遇到任何问题,可以参考本文的解决步骤进行排查。

参考资料

相关推荐
Akiyama_Mio-Kon14 小时前
2026 最新:Dify 本地 Docker 部署完整教程(Windows + Git Bash)
windows·git·docker
霸道流氓气质15 小时前
Spring AI 输出解析器进阶
人工智能·windows·spring
黄一一91124317 小时前
跨平台视频图片压缩互转!离线视频压缩工具!Github开源轻松无损压缩视频!Win/Mac/Linux三端通用开源工具
windows·macos·音视频·开源软件
池塘游鱼18 小时前
VMware虚拟机安装Windows 10系统 超详细图文教程
windows·vmware
易点云徐源21 小时前
(已解决)BOSS直聘 Windows 客户端一直“加载中,请稍候”怎么办?
windows
绮罗郁金香21 小时前
windows延迟更新
windows
苏生Susheng1 天前
【软件实施】Windows 服务器运维实战
java·运维·服务器·windows·spring boot·javaweb·实施
方向研究1 天前
UEFI/Windows启动流程
windows
ZnS_oscar1 天前
不用下载字体,获得仿宋字体
windows·word
霸道流氓气质1 天前
通义千问 Chat 模型高级用法:Function Calling / Structured Output / 多轮对话
linux·运维·windows