在 Windows 10 上实现免密码 SSH 登录
在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接。为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入密码的繁琐过程。
目录9 个章节
前言
在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接。为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入密码的繁琐过程。
本文将详细介绍如何在 Windows 10 上配置 SSH 免密码登录,类似于 Linux 系统上的 ssh-add 功能。
注意本文仅适用于 Windows 10 系统,Windows 11 的配置方法请参考 在 Windows 11 上启用 ssh-agent。
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 服务:
Start-Service ssh-agent
Set-Service -Name ssh-agent -StartupType Automatic
3. 生成 SSH 密钥对
如果你还没有生成 SSH 密钥,可以通过以下步骤创建:
-
打开终端(命令提示符或者 PowerShell)。
-
输入以下命令生成 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"按提示操作(默认存储路径为
~/.ssh/id_rsa)。 -
输入密钥存储位置和密码(如果不想设置密码,可以直接按回车跳过)。
4. 将 SSH 密钥添加到 ssh-agent
接下来,需要将生成的私钥添加到 ssh-agent 中,以便在连接时自动使用密钥进行认证。
-
打开终端(命令提示符或者 PowerShell)。
-
输入以下命令加载密钥:
ssh-add ~/.ssh/id_rsa
这样,ssh-agent 就会管理你的私钥,免去每次连接时输入密码的需求。
5. 将公钥复制到远程服务器
为了让远程服务器识别你的 SSH 密钥,你需要将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。你可以手动复制公钥,或者使用 ssh-copy-id 工具来完成:
-
复制公钥:
cat ~/.ssh/id_rsa.pub -
将公钥复制到远程服务器的
~/.ssh/authorized_keys文件中。
如果你使用 ssh-copy-id,命令如下:
ssh-copy-id user@remote_host
6. 测试免密码 SSH 登录
完成以上配置后,你可以尝试连接远程服务器:
ssh user@remote_host
如果配置成功,你将无需输入密码即可直接连接。
总结
通过以上步骤,你可以轻松实现 Windows 10 上的免密码 SSH 登录功能,类似于 Linux 上的 ssh-add。这种配置不仅提升了连接的效率,也使得远程管理变得更加便捷和安全。如果遇到任何问题,可以参考本文的解决步骤进行排查。
参考资料
- OpenSSH 官网 - https://www.openssh.com/
- Windows 10 OpenSSH 客户端文档 - https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
_EOF_
在 Windows 10 上实现免密码 SSH 登录
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
忘记WSL的root密码怎么办
解决方法 首先,打开WSL是不需要输入密码的,如果你打开WSL时的默认用户不是root,请按照一下方式修改。 修改默认登录WSL用户 以管理员权限启动Powershell lxrun /setdefaultuser root 此时重新打开WSL就是root用户了,并且不需要密码。 然后输入以下命令修改密码。 passwd root About 了解更多有趣的操作请关注我的微信公众号:DealiA
2021-12-18 · Windows · 约 1 分钟
在Windows上部署OpenSSH服务
Windows终于学会了没羞没臊地用命令行装OpenSSH,结果设置界面还是卡得像屎,算了,至少比以前强点。不过这SSH连上去还是CMD,是哪个脑回路觉得这操作体验没问题啊?
2025-06-12 · Windows · 约 1 分钟
如何阻止Win10重置默认应用?
前言 Win10比之前版本的Windows系统更现代,然而却不见得更好用,喜欢自作主张重置默认应用就是一个大问题。 就像这样,真的是烦。 解决方法 改注册表。 新建一个 去除重置默认应用.reg 的注册表文件,粘贴一下代码。 Windows Registry Editor Version 5.00 ;Description: Prevents Windows 10 from resetting
2021-12-18 · Windows · 约 1 分钟
2024年,提升Windows开发和使用体验的实践经验 - RIME输入法
上一篇文章介绍了 Windows 下的包管理器,本文继续介绍输入法。 事实上 Windows 的输入法生态比 Linux/Mac 丰富很多,不过很多国产输入法存在窃取隐私、植入广告、乱安装流氓软件等问题,现在有开源的 RIME 输入法可以选择,何必受这气呢
2024-02-29 · Windows · 约 1 分钟
讨论
共 0 条加载评论中…