OpenSSH——ssh-keygen

一、ssh-keygen
ssh-keygen是用来创建,管理和转换密钥的工具,它支持的密钥类型有RSA,DSA,ECDSA,ED25519,RSA1。

(前面4种密钥类型适用于"SSH Protocol Version 2",最后1种密钥类型适用于"SSH Protocol Version 1")


二、关于passphrase

在创建公钥私钥对时,可以设置passphrase值,该值用来加密私钥的内容,从而达到保护私钥内容的目的。


三、Host Key
为了防止中间人攻击(一台机器冒充SSH Server与你的SSH Client进行连接),给每台SSH Server创建一个唯一标识码,当你的SSH Client试图连接一台SSH Server的时候,通过读取该台SSH Server的唯一标识码,并与上次连接之后本地保存的唯一标识码(保存在"~/.ssh/known_hosts"文件中)进行比对,如果一致则认为不存在中间人攻击。该唯一标识码被称为“Host Key”。

Host Key本质上是公钥和私钥对中的公钥,存放路径位于"/etc/ssh/"下。


四、具体命令
1、创建公钥私钥对
ssh-keygen -t type
备注:
1)type是“RSA,DSA,ECDSA,ED25519,RSA1”5种类型之一
2)创建得到的公钥私钥文件只能存放在"~/.ssh/"目录下

3)交互式命令,需要指定私钥文件名(公钥文件名=私钥文件名.pub)


2、管理passphrase
ssh-keygen -p
备注:

1)交互式命令,需要选择欲操作passphrase的私钥文件


3、创建Host Key
ssh-keygen -A
备注:
1)需要以root身份运行以上命令

2)针对每种支持的密钥类型创建公钥私钥对,其中的公钥作为Host Key


参考文献:

[1]man ssh-keygen


你可能感兴趣的:(OpenSSH——ssh-keygen)