Windows 11 上生成 public key

更新日期: 2024-12-31 阅读次数: 103 字数: 364 分类: Windows

最近在搞 React Native Android App 的测试,由于涉及到 Android Studio 的使用,所以不适合在 WSL Ubuntu 环境下开发了。

于是把开发环境都搭建在了 Windows 11 系统里。命令行自然换成了 PowerShell,但是由于没有 public key,git 提交代码到远程仓库,就非常麻烦。

搜索了一下,发现 Windows 上已经可以直接使用 ssh-keygen 生成 key 文件了 (不知道啥时候支持的😅)。参考:

https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

ssh-keygen.exe is used to generate key files and the algorithms DSA, RSA, ECDSA, or Ed25519 can be specified. If no algorithm is specified, RSA is used. A strong algorithm and key length should be used, such as ECDSA in this example.

按照提示,我输入了如下命令:

ssh-keygen -t ecdsa

但生成的 id_ecdsa.pub 黏贴到阿里云 codeup 之后,提示错误:

仅支持 RSA 或 ed25519 算法生成的 SSH 公钥 ,请修改后重试

我改为了,不加参数的方式:

> ssh-keygen

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\zhong/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):

会看到,跟官方文档说的略有不同,默认使用的是 ed25519 算法,而不是 RSA。没有关系,反正都支持。 把 id_ed25519.pub 的内容黏贴到远程仓库的 ssh 公钥中,就能正常提交代码了。

rsa 与 ed25519 区别

问了一下 github copilot:

  • RSA基于大整数因子分解难题,密钥通常更大;
  • Ed25519基于椭圆曲线,密钥更小、签名速度更快,安全性也更高。

不得不说,Windows 现在作为开发环境的体验,越来越好了。目前唯一的困扰是,不知道怎么用 Makefile。

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式