ssh-keygen
[-q] 安静模式
[-b bits] 位数
[-t dsa | ecdsa | ed25519 | rsa | rsa1] 加密算法
=====================================
SSH-KEYGEN(1)BSD通用命令手册SSH-KEYGEN(1)
名称
ssh-keygen —身份验证密钥的生成,管理和转换
概要
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1]
[-N new_passphrase] [-C comment] [-f output_keyfile]
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
ssh-keygen -i [-m key_format] [-f input_keyfile]
ssh-keygen -e [-m key_format] [-f input_keyfile]
ssh-keygen -y [-f input_keyfile]
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
ssh-keygen -B [-f input_keyfile]
ssh-keygen -D pkcs11
ssh-keygen -F hostname [-f known_hosts_file] [-l]
ssh-keygen -H [-f known_hosts_file]
ssh-keygen -R hostname [-f known_hosts_file]
ssh-keygen -r hostname [-f input_keyfile] [-g]
ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
[-j start_line] [-K checkpt] [-W generator]
ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals]
[-O option] [-V validity_interval] [-z serial_number] file ...
ssh-keygen -L [-f input_keyfile]
ssh-keygen -A
ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
file ...
ssh-keygen -Q -f krl_file file ...
描述
ssh-keygen生成,管理和转换认证密钥
ssh(1)。ssh-keygen可以创建供SSH协议版本使用的密钥1
和2.不应使用协议1,而仅将其用于支持
旧版设备。它遭受了许多加密弱点和
不支持协议2提供的许多高级功能。
使用-t选项指定要生成的密钥的类型。如果
在不带任何参数的情况下调用ssh-keygen会为
在SSH协议2连接中使用。
ssh-keygen还用于生成在Diffie-Hellman中使用的组
群组交换(DH-GEX)。有关详细信息,请参见“模块生成”部分。
最后,ssh-keygen可用于生成和更新密钥吊销
列出并测试给定的密钥是否已被一个撤销。看到
有关详细信息,请参见“关键撤销列表”部分。
通常,每个希望将SSH与公钥身份验证一起使用的用户都会运行
一次在〜/ .ssh / identity中创建身份验证密钥,
〜/ .ssh / id_dsa,〜/ .ssh / id_ecdsa,〜/ .ssh / id_ed25519或〜/ .ssh / id_rsa。
此外,系统管理员可以使用它来生成主机
键,如/ etc / rc中所示。
通常,此程序会生成密钥并要求在其中添加文件
存储私钥。公钥存储在相同的文件中
名称,但附加“ .pub”。该程序还要求输入密码。的
密码短语可能为空,表示没有密码短语(主机密钥必须具有
空密码短语),也可以是任意长度的字符串。一个
密码短语类似于密码,除了它可以是带有
一系列单词,标点,数字,空格或任何字符串
您想要的演员。好的密码短语长度为10-30个字符,不是
简单的句子或其他容易猜测的内容(英语散文仅
每个字符1-2位熵,并提供非常糟糕的密码短语),
并包含大小写字母,数字和非
字母数字字符。稍后可以使用更改密码
-p选项。
无法恢复丢失的密码短语。如果密码丢失
或忘记了,必须生成一个新密钥,并且相应的公共
密钥已复制到其他计算机。
对于RSA1密钥和以较新的OpenSSH格式存储的密钥,还存在
密钥文件中的注释字段,仅用于方便用户
帮助识别钥匙。该注释可以告诉您密钥的用途,或者
任何有用的东西。注释被初始化为“ user @ host”。
密钥已创建,但可以使用-c选项进行更改。
生成密钥后,以下说明详细说明了密钥应在何处
被放置为激活状态。
选项如下:
-A对于以下每种密钥类型(rsa1,rsa,dsa,ecdsa和ed25519)
哪些主机密钥不存在,请使用
默认密钥文件路径,空密码短语,
密钥类型和默认注释。/ etc / rc使用它来生成
吃了新的主机密钥。
-一轮
保存新格式的私钥(例如ed25519密钥或任何其他
设置-o标志时使用SSH协议2密钥),此选项指定-
fies使用的KDF(密钥派生功能)轮数。
数字越大,密码验证越慢,并且
增强对暴力破解密码的抵抗力(
密钥被盗)。
在筛选DH-GEX候选对象时(使用-T命令)。这个
option指定要执行的素数测试的数量。
-B显示指定私钥或公钥的冒泡摘要
文件。
-b位
指定要创建的密钥中的位数。对于RSA密钥,
最小大小为1024位,默认大小为2048位。根
通常,认为2048位就足够了。DSA密钥必须为
完全由FIPS 186-2指定的1024位。对于ECDSA密钥,
-b标志通过从以下一项中选择来确定密钥长度
三个椭圆曲线大小:256、384或521位。试图
对ECDSA密钥使用这三个值以外的其他位长度
失败。Ed25519键的长度是固定的,-b标志为
忽略了。
-C评论
提供新的评论。
-c请求更改私钥和公钥中的注释
文件。仅RSA1密钥和密钥支持此操作
以较新的OpenSSH格式存储。该程序将提示您
包含私钥的文件,如果密码短语为
键有一个,并用于新注释。
-D pkcs11
下载PKCS#11共享提供的RSA公钥
库pkcs11。与-s组合使用时,此选项
表示CA密钥位于PKCS#11令牌中(请参阅
有关详细信息,请参见“证书”部分。
-E Fingerprint_hash
指定显示键指时使用的哈希算法-
打印。有效选项为:“ md5”和“ sha256”。默认是
“ sha256”。
-e此选项将读取私有或公共的OpenSSH密钥文件,以及
以-m指定的格式之一打印输出标准密钥
选项。默认导出格式为“ RFC4716”。这个选项
允许导出OpenSSH密钥以供其他程序使用,包括
几种商业SSH实施。
-F主机名
在known_hosts文件中搜索指定的主机名,列出
发现的任何事件。此选项对于查找散列主机很有用
名称或地址,也可以与
-H选项以散列格式打印找到的密钥。
-f文件名
指定密钥文件的文件名。
-G output_file
生成DH-GEX的候选素数。这些素数必须是
使用前进行安全性筛选(使用-T选项)。
-g打印指纹资源记录时使用通用DNS格式
使用-r命令。
-H哈希一个known_hosts文件。这将替换所有主机名并
指定文件中带有哈希表示的地址;
原始内容将移动到后缀为.old的文件中。
ssh和sshd通常可以使用这些哈希,但是它们确实
文件内容应不泄露识别信息
披露。此选项不会修改现有的哈希主机名
因此可以安全地用于混合了散列和非散列的文件
哈希名称。
-h签名密钥时,创建主机证书而不是用户
证书。有关详细信息,请参见“证书”部分。
-I certificate_identity
在签署公共密钥时指定密钥身份。请参见
有关详细信息,请参见“证书”部分。
-i此选项将读取未加密的私有(或公共)密钥文件
以-m选项指定的格式显示并打印OpenSSH
兼容的stdout私钥(或公钥)。该选项允许
从其他软件(包括几种商业软件)导入密钥
SSH实施。默认导入格式为“ RFC4716”。
-J num_lines
执行时在筛选指定的行数后退出
使用-T选项来筛选DH候选对象。
-j start_line
在执行DH时开始在指定的行号上进行筛选
使用-T选项进行候选人筛选。
-K checkpt
执行时将最后处理的行写入文件checkpt
使用-T选项来筛选DH候选对象。这会是
用于跳过输入文件中已经过验证的行
如果重新启动作业,则停止。
-k生成KRL文件。在此模式下,ssh-keygen将生成一个
通过-f标志指定的位置撤消的KRL文件
命令行上显示的每个密钥或证书。
可以通过公钥指定要撤销的密钥/证书
文件或使用“密钥撤销列表”中描述的格式
部分。
-L打印一个或多个证书的内容。
-l显示指定公钥文件的指纹。RSA1私钥
也被支持。对于RSA和DSA密钥,ssh-keygen尝试
找到匹配的公共密钥文件并打印其指纹。如果
与-v结合使用,该键的可视化ASCII艺术表现形式为
随附指纹。
-M内存
指定生成时要使用的内存量(以兆字节为单位)
DH-GEX的候选模数。
-m key_format
为-i(导入)或-e(导出)转换指定密钥格式
sion选项。支持的密钥格式为:“ RFC4716”(RFC
4716 / SSH2公钥或私钥),“ PKCS8”(PEM PKCS8公钥)
或“ PEM”(PEM公钥)。默认转换格式为
“ RFC4716”。
-N new_passphrase
提供新的密码短语。
-n主体
指定一个或多个主体(用户或主机名)作为
签名密钥时包含在证书中。多重原理
可以指定好朋友,以逗号分隔。请看
有关详细信息,请参见“证书”部分。
-O选项
签名密钥时指定证书选项。此选项可能
被多次指定。请参阅“证书”部分
有关详细信息。对用户证书有效的选项
是:
清除清除所有启用的权限。这对于清除-
设置默认的权限集,因此权限可能是
单独添加。
强制命令=命令
强制执行命令而不是任何shell或
证书为用户指定的命令
用于身份验证。
无代理转发
禁用ssh-agent(1)转发(默认情况下允许)。
无端口转发
禁用端口转发(默认情况下允许)。
no-pty禁用PTY分配(默认情况下允许)。
无用户rc
禁止通过sshd(8)执行〜/ .ssh / rc(允许
默认)。
没有x11转发
禁用X11转发(默认情况下允许)。
许可代理转发
允许ssh-agent(1)转发。
许可证端口转发
允许端口转发。
许可
允许PTY分配。
许可用户rc
允许sshd(8)执行〜/ .ssh / rc。
许可x11转发
允许X11转发。
源地址=地址列表
限制证书的源地址
被认为是有效的。address_list是逗号分隔的
CIDR中一个或多个地址/网络掩码对的额定列表
格式。
目前,没有选项对主机密钥有效。
-o使ssh-keygen使用新的OpenSSH for-保存私钥
mat而不是更兼容的PEM格式。新格式
增强了对暴力密码破解的抵抗力,但
6.5之前的OpenSSH版本不支持。ED25519键