windows生成RAS密钥
介绍
RAS秘钥是一种用于身份验证的密钥对,属于非对称秘钥,由公钥和私钥组成。公钥可以公开分享,用于验证身份;私钥需要保密,用于签名和加密数据。
生成秘钥
- 创建秘钥的存储目录
进入用户目录下的.ssh创建一个文件夹,如:MT
$ cd .ssh
$ mkdir MT进入MT文件夹创建一个文件夹,如:id_ed25519
$ cd .\MT\
$ mkdir id_ed25519
$ ls
目录: C:\Users\matia\.ssh\MT
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2025/1/7 23:17 id_ed25519- 生成秘钥
我们可以选择使用 ed25519 算法(推荐)或传统的 RSA 算法。
使用 ed25519 算法(推荐)如下:
$ ssh-keygen -t ed25519 -C "your_email@example.com"使用 RSA 算法:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"-C "your_email@example.com":为你的SSH密钥添加一个标签,通常是你的GitHub邮箱地址。-b 4096:指定RSA密钥的长度为4096位(仅适用于RSA密钥)。
不指定生成密钥存放的地址,默认地址为:C:\Users\matia/.ssh/id_ed25519:
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\matia/.ssh/id_ed25519):生成密钥存放到我们我们指定地址,地址为刚刚创建的文件夹(C:\Users\matia/.ssh/MT/id_ed25519/)。
$ ssh-keygen -t ed25519 -C "your_email@example.com" -f C:\Users\matia/.ssh/MT/id_ed25519/mt_github_id_ed25519
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\matia/.ssh/MT/id_ed25519/mt_github_id_ed25519
Your public key has been saved in C:\Users\matia/.ssh/MT/id_ed25519/mt_github_id_ed25519.pub
The key fingerprint is:
SHA256:S7Kx3uA0P+yY4Ftn4FcS0h6gqEAUmr6m3WOO7DMFUsU your_email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|.+.o. . |
|o...E. o |
|+.. . . + |
|+.. o o |
|.o . + S . |
| . .. B + |
| o .. O.= |
|ooo+o* @o |
|..===o=.+. |
+----[SHA256]-----+注意 地址需要指明使用的文件名称,如上mt_github_id_ed25519就是我们的秘钥文件名。
查看密钥文件:
$ cd .\id_ed25519\
PS C:\Users\matia\.ssh\MT\id_ed25519> ls
目录: C:\Users\matia\.ssh\MT\id_ed25519
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/1/7 23:22 411 mt_github_id_ed25519
-a---- 2025/1/7 23:22 101 mt_github_id_ed25519.pub查看并拷贝公钥
$ cat .\mt_github_id_ed25519.pub | clip之后就可以使用秘钥了,比如在GitHub中添加秘钥,通过秘钥访问,这样就剩去了每次都要输入密码的麻烦了。
注意 前面所有的命令均在Windows PowerShell中执行的。
总结
怎么感觉在Windows的PowerShell中操作和Linux中的操作这么像,连目录都差不多! 查了一下:随着 Windows 10 及之后版本对 Linux 子系统(WSL, Windows Subsystem for Linux)的支持,以及 PowerShell 的不断发展,两者之间的界限正在逐渐模糊。
