在 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小技巧:切换到zsh以及加入右键菜单
切换到zsh 说明 在 Windows Subsystem for Linux 中,执行 chsh -s /bin/zsh 并不能成功地将默认 shell 修改为 zsh。在打开 WSL 时,默认 shell 仍然为 bash。 这是因为WSL 在启动时并没有执行 login 相关的组件,而这些组件和默认 shell 有关。Microsoft 已经知晓了这个问题,但并没有计划去解决。 方法 我们可
2021-12-18 · Windows · 约 1 分钟
从SSH远程到Git Push:在Windows上一步到位实现免密码登录
我一直希望在Windows上能像在Linux系统中那样,通过SSH密钥实现免密码远程连接。每次远程连接到服务器时,手动输入密码既麻烦又不太安全,尤其是在我需要频繁操作的情况下。
2025-02-10 · Windows · 约 1 分钟
2024年,提升Windows开发和使用体验的实践经验 - RIME输入法
上一篇文章介绍了 Windows 下的包管理器,本文继续介绍输入法。 事实上 Windows 的输入法生态比 Linux/Mac 丰富很多,不过很多国产输入法存在窃取隐私、植入广告、乱安装流氓软件等问题,现在有开源的 RIME 输入法可以选择,何必受这气呢
2024-02-29 · Windows · 约 1 分钟
在Windows上部署OpenSSH服务
Windows终于学会了没羞没臊地用命令行装OpenSSH,结果设置界面还是卡得像屎,算了,至少比以前强点。不过这SSH连上去还是CMD,是哪个脑回路觉得这操作体验没问题啊?
2025-06-12 · Windows · 约 1 分钟
讨论
共 0 条加载评论中…