mac下如何通过putty生成证书

本文详细介绍了如何在Mac上通过Homebrew安装PuTTY,使用PuTTYgen生成不同格式的SSH密钥,包括无密码的4096位RSA密钥,并展示了如何将密钥转换为OpenSSH的格式。此外,还演示了导出公钥和私钥的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前有两个主流的密钥格式:OpenSSH格式的密钥 和 PuTTY格式的密钥,今天尝试使用PuTTY生成密钥。

1. 安装putty

% brew install putty

Running `brew update --auto-update`...
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################## 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################## 100.0%
==> Fetching putty
==> Downloading https://ghcr.io/v2/homebrew/core/putty/manifests/0.78
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/putty/blobs/sha256:98350a82ed60a6d22d3ef1fad8dc3a5e2ce8d44f2fea51d6f853315fed7b2a9e
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:98350a82ed60a6d22d3ef1fad8dc3a5e2ce8d44f2fea51d6f853315fed7b2
######################################################################## 100.0%
==> Pouring putty--0.78.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/putty/0.78: 17 files, 3.7MB
==> Running `brew cleanup putty`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

2. 查看puttygen命令的帮助文档

% man puttygen

2.1 输出文件格式

-O output-type
	Specify the type of output you want puttygen to produce. Acceptable options are:
	
	private
	       Save the private key in a format usable by PuTTY. This will either be the standard SSH-1 key format, or
	       PuTTY's own SSH-2 key format (`PPK'). This is the default.
	
	public Save the public key only. For SSH-1 keys, the standard public key format will be used (`1024 37 5698745...').
	       For SSH-2 keys, the public key will be output in the format specified by RFC 4716, which is a multi-line text
	       file beginning with the line `---- BEGIN SSH2 PUBLIC KEY ----'.
	
	public-openssh
	       Save the public key only, in a format usable by OpenSSH. For SSH-1 keys, this output format behaves
	       identically to public. For SSH-2 keys, the public key will be output in the OpenSSH format, which is a single
	       line (`ssh-rsa AAAAB3NzaC1yc2...').
	
	fingerprint
	       Print a fingerprint of the public key. The -E option lets you specify which fingerprinting algorithm to use.
	       All algorithms are believed compatible with OpenSSH.
	
	private-openssh
	       Save an SSH-2 private key in OpenSSH's format, using the oldest format available to maximise backward
	       compatibility. This option is not permitted for SSH-1 keys.
	
	private-openssh-new
	       As private-openssh, except that it forces the use of OpenSSH's newer format even for RSA, DSA, and ECDSA keys.
	
	private-sshcom
	       Save an SSH-2 private key in ssh.com's format. This option is not permitted for SSH-1 keys.
	
	cert-info
	       Save a textual dump of information about the certificate on the key, if any: whether it's a host or a user
	       certificate, what host(s) or user(s) it's certified to be, its validity period, ID and serial number, and the
	       fingerprint of the signing CA.
	
	text   Save a textual dump of the numeric components comprising the key (both the public and private parts, if
	       present). Useful for debugging, or for using PuTTYgen as a key generator for applications other than SSH.
	
	       The output consists of a series of name=value lines, where each value is either a C-like string literal in
	       double quotes, a hexadecimal number starting with 0x..., or a binary blob encoded with base64, denoted by
	       b64("...").
	
	If no output type is specified, the default is private.

2.2 命令示例

To generate an SSH-2 RSA key pair and save it in PuTTY's own format (you will be prompted for the passphrase):

puttygen -t rsa -C "my home key" -o mykey.ppk

To generate a larger (4096-bit) key:

puttygen -t rsa -b 4096 -C "my home key" -o mykey.ppk

To change the passphrase on a key (you will be prompted for the old and new passphrases):

puttygen -P mykey.ppk

To change the comment on a key:

puttygen -C "new comment" mykey.ppk

To convert a key into OpenSSH's private key format:

puttygen mykey.ppk -O private-openssh -o my-openssh-key

To convert a key from another format (puttygen will automatically detect the input key type):

puttygen my-ssh.com-key -o mykey.ppk

To display the SHA-256 fingerprint of a key (some key types require a passphrase to extract even this much information):

puttygen -l mykey.ppk

To add the OpenSSH-format public half of a key to your authorised keys file:

puttygen -L mykey.ppk >> $HOME/.ssh/authorized_keys

3. 小试牛刀

3.1 生成一个密钥对

使用puttygen命令生成密钥长度为4096的key,不不设置密码。

% puttygen -t rsa -b 4096 -C "my home key" -o mykey.ppk
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Enter passphrase to save key: 
Re-enter passphrase to verify:

在当前目录下会生成一个名称为mykey.ppk的文件,文件内容如下,可以看到生成的文件中同时包含了公钥和私钥。

PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: my home key
Public-Lines: 12
AAAAB3NzaC1yc2EAAAADAQABAAACAQCN/YEYn2s8sMv006ceGcAwQVgAUY2fbkwr
yc/tqH9Y4CDSG3i9DQdnUyZz1CwT7C50a/2Dmx+Ft8TxCpmMX+gQmUXWtyM3Yyfa
fXWQhbNfSN9RWDm3jicrNcIdSqZFkWpSmlvly1ogdVvsW750SI7ZmpVMZbhz61aC
13/qoExoEahIDAx0iqDQDnS1ANLLUQoVq7bXEY+5u0s9TY/DXynr9qwsW3szvbmG
qQyJq/jbdMLutywKrH0Srd3+rSKhAXUNcqOmxGN3y7iMHuT1ZW5jQlgY/cX8yI7S
MccHH0++KOEODKo+EutAEcOVDEbshGrZ6v5tb3xwGKnkTCpSO/cnNbYSjVr7rs7L
RUOLb3LV+7W0awb7MaaAh1JPwLB21zbBxRBltyRzJbqmK6Tfqm7kPd5CtnKN9NYV
Gc+sXYdFtT22hMr4Drdz64cBNiSZvDcJj+OxuQU/3craruh2nwkj1n1lBP77EFd6
4rujufvm/I39JLBqOWm0FpWLJrxvjbNOeUEvoOZ7ho5zyelSC+EO1Hj3kKL5+LKm
VgiFtm+GJt7d0Js0a5r5LbeAuukc5l/HnhFSDhR7BkXilkdH/v03GvM6sFXibAAh
M5TYG4VBkFGDnggBjcna9Q7plEMwR2oHo0w6Z60RjxKwQd9sP3lwHxfyhX3/810O
i20UJhg9ew==
Private-Lines: 28
AAACAHvQnw4VlbFqia+IEKZS1iA+GrrMYq6vw4Q7izE2STX62yPcCMDx547WFyXR
0k3dGfUzZfGpByfXQ8jc8WBTEU3IGfpN4EugD1SbKjVIIU3pgbKxOEMzljw7uHVK
bwsi7o/xQklztbewHuRQbBeCXe6quZ3Q5bNPeDTILicuePIW06NfvkyxxeEneeWM
PkRE+oJDJkEMc0QGammehMpc5XV5uFFFxH0t5+Xg66nxaCQWARWgbKsyFi5/pqE5
4IR9fNCpMsNtZT9FSjwFhKnoNQYhCCliwY7YZJIuDdvMFgFALF/P83QFk1ZfJymF
dyMvpO052XscSGqHVz5YnF7xI2aYntVG7knKSCiIKtkXnY6SzKt3PIo+Kc2BKyye
3QvP+yTUrrYsO46EfEC3/GP5trlYJQccYzKSPo7riEh1/pWyOGO0IEOQ4cwRph1T
rQKi++OzeSQ5seDcAPRGpMSJIMrGmhRUtZnKXeJbEumQLk03JRjGSqMvmajV1yo6
ftGPcnWAUA6F+TgzxV0BhVYn2R7q9uWSO819JoAPUxhX0KVIQQ14tpx2nagUZTkT
u08QZfZgVvpyhl2w3EzcEx2Y9HhSgrF+y2DJVit0RffDukkMBJjcQISKRlUHCUkT
A+gUUiZgH4GBMOzQ7fP32OtepFMe9sVYBSH78iBk8GwLClMhAAABAQD6c7v4Le6P
Qso8eLPc35PfnR01p2UpGC2tbT+px7jdBq9m/FQSPax4GBAOjVjTbASXr/r3VuQF
sIa/huLNdotWFFEp6EV9QRpjscnRceGzzFtO1hcLq/Yy0pYEKlJhEySquTDySQMd
nlfSDJSyNDm255R6xAYeJ4MdJuAH9osIkTzEc3nyMuO/GzCkcEBhphUKy4XpJRjb
MdFEglA4HplTXmjVD9/5ajr4SaKh2K3Np70fohvVsYw+uY7nrW3UEoMqbabCYycb
DIJKFQYnB4ytP9sPrEtb8kMhrzdYRwVSHiSb5noGv8RA4hw2rL6Jk454J9nod6n1
nvPsM8GFJvJlAAABAQCRIrQpnSU9I6urcLmQ7sshS7g27qhjPZ7mwdPI9OokOp8+
HTHLYeYf9b1/R5oXvP8C6m05tpdBujzVIuhtCgcl/iHfP7IB8qUz0lqhfBfg3AnN
UINH69lGebEFcOGTv4sQAcsvLKqqkTq/vaQ0fKoKT9hw/9NsY6Sam7Jw/u033nDg
VpftxoFE6GQsyoJwH9EmBVA2p0o8984SdbUmHgzFSDQTBFhrHv3hp6XUc/VFUCxw
XMd6VyQ3ME7qACQLeovFZYos2xA6btL0PnQlCmqNG2uFso7+ou8eMM2l6gVBwxqM
PGgORscESCw8BYcZL2SH+/4ZfiEXXYpPu/qwCYJfAAABACnOCkgNU4Es84MNbNau
MgdYcfhM/GjdCNe9jCKQ0VlMa7I9OG8cQYK/TOwfiiMjRK9nrBhlA/CsLyiUQwja
FlwbMcJGD+mztd11g/r/TdOc0Gw5Zl3fDgr+P/IWbti7h3IkE39ht0CkvHxIFheC
w0O7tiBCi4CY+8YiA9NwXqt2IFCTry337Qu7E+hEvLRazy9v16ug7T6bm0b9Iabq
hbgAX8aqgA9lnEiA9O6KucRcwIZP5OI7RBHPrLFYveCtVtjAaAXaph9t4NBjUzQO
P3A3CVFr3HMUrDyOZgrHjCAiy5qAS0waeCAjIpMeZaaCCyz/0ssH5KscWfqK/Qt/
3sA=
Private-MAC: 6ab56fb4defb75498b4c45ba4b3b9d7753edbc74d765d457029317703170da6c

3.2 导出私钥

% puttygen mykey.ppk -O private-openssh -o my-openssh-key

查看生成的私钥

-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

3.3 导出公钥

% puttygen mykey.ppk -O public -o my-public

查看生成的公钥

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my home key"
AAAAB3NzaC1yc2EAAAADAQABAAACAQCN/YEYn2s8sMv006ceGcAwQVgAUY2fbkwr
yc/tqH9Y4CDSG3i9DQdnUyZz1CwT7C50a/2Dmx+Ft8TxCpmMX+gQmUXWtyM3Yyfa
fXWQhbNfSN9RWDm3jicrNcIdSqZFkWpSmlvly1ogdVvsW750SI7ZmpVMZbhz61aC
13/qoExoEahIDAx0iqDQDnS1ANLLUQoVq7bXEY+5u0s9TY/DXynr9qwsW3szvbmG
qQyJq/jbdMLutywKrH0Srd3+rSKhAXUNcqOmxGN3y7iMHuT1ZW5jQlgY/cX8yI7S
MccHH0++KOEODKo+EutAEcOVDEbshGrZ6v5tb3xwGKnkTCpSO/cnNbYSjVr7rs7L
RUOLb3LV+7W0awb7MaaAh1JPwLB21zbBxRBltyRzJbqmK6Tfqm7kPd5CtnKN9NYV
Gc+sXYdFtT22hMr4Drdz64cBNiSZvDcJj+OxuQU/3craruh2nwkj1n1lBP77EFd6
4rujufvm/I39JLBqOWm0FpWLJrxvjbNOeUEvoOZ7ho5zyelSC+EO1Hj3kKL5+LKm
VgiFtm+GJt7d0Js0a5r5LbeAuukc5l/HnhFSDhR7BkXilkdH/v03GvM6sFXibAAh
M5TYG4VBkFGDnggBjcna9Q7plEMwR2oHo0w6Z60RjxKwQd9sP3lwHxfyhX3/810O
i20UJhg9ew==
---- END SSH2 PUBLIC KEY ----

3.4 导出可供OpenSSH使用的公钥

% puttygen mykey.ppk -O public-openssh -o my-openssh-public
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCN/YEYn2s8sMv006ceGcAwQVgAUY2fbkwryc/tqH9Y4CDSG3i9DQdnUyZz1CwT7C50a/2Dmx+Ft8TxCpmMX+gQmUXWtyM3YyfafXWQhbNfSN9RWDm3jicrNcIdSqZFkWpSmlvly1ogdVvsW750SI7ZmpVMZbhz61aC13/qoExoEahIDAx0iqDQDnS1ANLLUQoVq7bXEY+5u0s9TY/DXynr9qwsW3szvbmGqQyJq/jbdMLutywKrH0Srd3+rSKhAXUNcqOmxGN3y7iMHuT1ZW5jQlgY/cX8yI7SMccHH0++KOEODKo+EutAEcOVDEbshGrZ6v5tb3xwGKnkTCpSO/cnNbYSjVr7rs7LRUOLb3LV+7W0awb7MaaAh1JPwLB21zbBxRBltyRzJbqmK6Tfqm7kPd5CtnKN9NYVGc+sXYdFtT22hMr4Drdz64cBNiSZvDcJj+OxuQU/3craruh2nwkj1n1lBP77EFd64rujufvm/I39JLBqOWm0FpWLJrxvjbNOeUEvoOZ7ho5zyelSC+EO1Hj3kKL5+LKmVgiFtm+GJt7d0Js0a5r5LbeAuukc5l/HnhFSDhR7BkXilkdH/v03GvM6sFXibAAhM5TYG4VBkFGDnggBjcna9Q7plEMwR2oHo0w6Z60RjxKwQd9sP3lwHxfyhX3/810Oi20UJhg9ew== my home key
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值