讲师中心 微信公众号
AI工具推荐 视频效率加速

win11如何生成和管理SSH密钥_win11和管理SSH密钥的几种常见方式

梦丽君_5365

梦丽君_5365

发布时间:2026-04-07 18:33:15

|

578人浏览过

|

来源于php中文网

原创

Windows下生成SSH密钥有三种主流方法:一是用PowerShell调用内置ssh-keygen生成ed25519密钥;二是用PuTTYgen图形化工具生成并导出OpenSSH格式密钥;三是通过Git Bash生成并配合ssh-agent自动加载。

win11如何生成和管理ssh密钥_win11和管理ssh密钥的几种常见方式

一、使用Windows终端内置ssh-keygen命令生成密钥

Windows 11 自带 OpenSSH 客户端,可通过 PowerShell 或 Windows Terminal 直接调用 ssh-keygen 工具生成密钥对,该方法无需安装第三方软件,操作简洁且与系统深度集成。

1、按下 Win + R,输入 powershell 并回车,以普通用户身份打开 PowerShell。

2、执行命令检查 OpenSSH 客户端是否已启用:Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*',若 State 显示为 Installed,则可继续;否则需以管理员身份运行:Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0。

3、运行密钥生成命令:ssh-keygen -t ed25519 -C "your_email@example.com",其中 ed25519 为推荐算法,安全性高且性能优。

4、按提示输入保存路径(直接回车采用默认路径 C:\Users\用户名\.ssh\id_ed25519)。

5、连续两次回车跳过密码短语设置(如需增强私钥保护,可在此处输入并确认口令)。

6、验证生成结果:进入 C:\Users\用户名\.ssh\ 目录,确认存在 id_ed25519(私钥)和 id_ed25519.pub(公钥)两个文件。

二、使用PuTTYgen图形化工具生成密钥

PuTTYgen 提供可视化界面,适合不熟悉命令行的用户,支持多种密钥类型与位长配置,并可直接导出 OpenSSH 兼容格式,便于后续在 VS Code 或 Git 中复用。

1、从 PuTTY 官网下载并安装 PuTTY 安装包(含 PuTTYgen 组件)。

2、在开始菜单或搜索栏中输入 PuTTYgen 并启动程序。

3、在参数区域选择密钥类型:Ed25519(推荐)或 RSA;若选 RSA,将“Number of bits”设为 4096。

4、点击 Generate 按钮,在空白区域随机移动鼠标以生成熵值。

5、生成完成后,在“Key comment”栏填写邮箱或标识(如 win11-laptop@github.com)。

6、点击 Save private key,保存为 ppk 格式(仅供 PuTTY 系列工具使用);再点击 Conversions → Export OpenSSH key,导出为无密码的 id_rsa 或 id_ed25519 格式文件。

7、复制顶部文本框中显示的公钥内容(以 ssh-ed25519 或 ssh-rsa 开头的整行),用于上传至 GitHub、Ubuntu 等服务端。

三、通过Git Bash生成并自动加载密钥

Git for Windows 自带 Git Bash 环境及完整 OpenSSH 工具链,生成密钥后可立即配合 git 命令使用,并通过 ssh-agent 实现会话级密钥托管,避免重复输入口令。

1、右键桌面或任意文件夹空白处,选择 Git Bash Here 启动终端。

2、执行命令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com",接受默认路径并按需设置密码短语。

3、启动 SSH 代理:eval "$(ssh-agent -s)",确保代理进程在当前会话中运行。

4、将私钥添加至代理:ssh-add ~/.ssh/id_rsa(若使用自定义路径,请替换为对应路径)。

5、验证加载状态:ssh-add -l,应显示密钥指纹及文件路径。

6、测试连接 GitHub:ssh -T git@github.com,成功时返回类似 Hi username! You've successfully authenticated... 的提示。

四、集中管理多组密钥并绑定不同主机

当需同时连接 GitHub、GitLab、私有服务器等多个目标时,单一密钥易引发权限混淆或安全风险。通过配置 ~/.ssh/config 文件,可为每组密钥指定 Host 别名、用户、私钥路径及端口,实现精准路由与免手动指定参数。

1、在 C:\Users\用户名\.ssh\ 目录下新建纯文本文件,命名为 config(无扩展名)。

2、用记事本或 VS Code 打开该文件,按如下格式逐段写入主机配置:

Host github.com

HostName github.com

User git

IdentityFile C:\Users\用户名\.ssh\id_ed25519_github

Host myserver

HostName 192.168.1.100

User ubuntu

IdentityFile C:\Users\用户名\.ssh\id_rsa_server

3、保存文件后,确保其编码为 UTF-8 无 BOM,且文件权限未被系统修改(Windows 下通常无需额外 chmod)。

4、在任意终端中执行 ssh -T git@github.com 或 ssh ubuntu@myserver,系统将自动匹配 config 中定义的私钥路径。

五、安全加固与权限校验关键步骤

Windows 对 SSH 密钥文件权限控制较宽松,但远程服务端(如 Ubuntu、GitHub)严格校验 .ssh 目录及密钥文件的访问权限。若忽略此步,将导致 Permission denied (publickey) 错误,即使密钥本身正确也无法认证通过。

1、在 PowerShell 中进入用户 .ssh 目录:cd ~/.ssh。

2、重置私钥权限(仅限当前用户读取):icacls id_ed25519 /reset /inheritance:r /grant:r "$env:USERNAME:(R)"。

3、重置公钥权限(允许读取):icacls id_ed25519.pub /reset /inheritance:r /grant:r "$env:USERNAME:(R)"。

4、重置 .ssh 目录权限:icacls .ssh /reset /inheritance:r /grant:r "$env:USERNAME:(OI)(CI)(RX)"。

5、验证权限是否生效:运行 icacls id_ed25519,输出中应仅包含当前用户名的 R(读取)权限,无 F(完全控制)或其它用户条目。

热门AI工具

更多
超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

8645

2026.01.21

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

918

2026.04.02

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

6819

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1920

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

1134

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

4437

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

4261

2024.04.09

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3319

2023.07.26

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn