在 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。这种配置不仅提升了连接的效率,也使得远程管理变得更加便捷和安全。如果遇到任何问题,可以参考本文的解决步骤进行排查。

参考资料

相关推荐
十五年专注C++开发1 小时前
cpolar(极点云): 一款主流的内网穿透工具
linux·windows·cpolar·穿透
非凡ghost1 小时前
AIMP(音乐播放软件)
前端·windows·音视频·firefox
xifangge20252 小时前
【2026终极解法】彻底解决“由于找不到 msvcp140.dll,无法继续执行代码”报错(附微软运行库一键修复包)
windows·mysql·microsoft·报错·开发环境
摇滚侠2 小时前
Windows 查看占用端口的进程,并关闭进程
windows
汤姆yu2 小时前
Windows系统下TRAE的安装与完整使用教程
windows·ai·trae·ai编程工具
一个人旅程~2 小时前
在M系列的macbook上如何使用VMware安装ARM版的Win11以及注意哪些问题?
linux·windows·经验分享·macos·电脑
love530love2 小时前
Windows 下 vcpkg 依赖环境部署与全局化配置
人工智能·windows·vcpkg
jolimark3 小时前
Windows下如何用GCC编译C语言?轻便方法分享
c语言·windows·git·mingw·gcc编译器
航Hang*4 小时前
Windows Server 配置与管理——第7章:配置DNS服务器
运维·服务器·网络·windows·安全·虚拟化
LinuxGeek10244 小时前
windows安装crest-3.0.2-windows和xtb-6.7.1,windows版crest-3.0.2
windows·量子计算