Skip to content

windows生成RAS密钥

约 635 字大约 2 分钟

WindowsRAS

2025-01-08

介绍

RAS秘钥是一种用于身份验证的密钥对,属于非对称秘钥,由公钥和私钥组成。公钥可以公开分享,用于验证身份;私钥需要保密,用于签名和加密数据。

生成秘钥

  1. 创建秘钥的存储目录

进入用户目录下的.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
  1. 生成秘钥

我们可以选择使用 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):

生成密钥存放到我们我们指定地址,地址为刚刚创建的文件夹。

$ 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中执行的。

总结

怎么感觉在WindowsPowerShell中操作和Linux中的操作这么像,连目录都差不多! 查了一下:随着 Windows 10 及之后版本对 Linux 子系统(WSL, Windows Subsystem for Linux)的支持,以及 PowerShell 的不断发展,两者之间的界限正在逐渐模糊。

参考

RSA