最近在搞 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 聊聊, 查看更多联系方式