名称
ssh-keygen - 身份验证密钥的生成,管理和转换
概要
ssh-keygen [ - q ] [ - b bits ] - t type [ - N new_passphrase ] [ - C comment ] [ - f output_keyfile ]
ssh-keygen - p [ - P old_passphrase ] [ - N new_passphrase ] [ - f keyfile ]
ssh-keygen - 我 [ - f input_keyfile ]
ssh-keygen -e [ - f input_keyfile ]
ssh-keygen -y [ - f input_keyfile ]
ssh-keygen -c [ --P 密码短语 ] [ - C 注释 ] [ - f 密钥文件 ]
ssh-keygen -l [ - f input_keyfile ]
ssh-keygen - B [ - f input_keyfile ]
ssh-keygen - D 阅读器
ssh-keygen - U 阅读器 [ - f input_keyfile ]
描述
ssh-keygen为ssh(1)生成,管理和转换认证密钥。 ssh-keygen可以创建供SSH协议版本1使用的RSA密钥,以及供SSH协议版本2使用的RSA或DSA密钥。要生成的密钥类型由-t选项指定。
通常,每个希望使用SSH和RSA或DSA身份验证的用户都会运行一次,以在$ HOME / .ssh / identity $ HOME / .ssh / id_dsa或$ HOME / .ssh / id_rsa中创建身份验证密钥。此外,系统管理员可以使用这将生成主机密钥,如/ etc / rc中所示
通常这个程序生成密钥并要求存储私钥的文件。 公钥存储在一个同名的文件中,但是附加了“.pub”。 该程序还要求输入密码。 密码可以是空的以指示没有密码(主机密钥必须具有空的密码短语),或者它可以是任意长度的字符串。 密码短语与密码类似,只不过它可以是一个包含一系列单词,标点符号,数字,空格或任何所需字符串的短语。 好的密码短语长度为10-30个字符,不是简单的句子或者其他很容易猜测的(英文散文每个字符只有1-2位熵,并且提供非常糟糕的密码短语),并且包含大写和小写字母,数字,和非字母数字字符。 密码可以稍后通过使用-p选项进行更改。
无法恢复丢失的密码。 如果密码丢失或遗忘,则必须生成一个新密钥并将其复制到其他机器的相应公用密钥。
对于RSA1密钥,密钥文件中还有一个注释字段,这只是为了方便用户帮助识别密钥。 评论可以说明关键是什么,或什么是有用的。 注释在创建密钥时被初始化为“user @ host”,但可以使用-c选项进行更改。
生成密钥后,下面的说明详细说明密钥应放置在何处以便激活。
选项如下:
-b 位
指定要创建的键的位数。 最小值是512位。 一般来说,1024位被认为是足够的,并且密钥大小不再提高安全性,但使事情变慢。 默认值是1024位。
-C
请求更改私钥和公钥文件中的注释。 此操作仅支持RSA1密钥。 程序将提示输入包含私钥的文件,密钥中包含密钥的密码以及新注释。
-e
该选项将读取专用或公用OpenSSH密钥文件,并将密钥以“SECSH公用密钥文件格式”打印到标准输出。 该选项允许导出密钥以供多个商业SSH实现使用。
-f 文件名
指定密钥文件的文件名。
-一世
此选项将读取SSH2兼容格式的未加密私钥(或公用)密钥文件,并将与OpenSSH兼容的私钥(或公用)密钥打印到标准输出。 ssh-keygen也读取“SECSH公钥文件格式”此选项允许从多个商业SSH实现中导入密钥。
-l
显示指定公钥文件的指纹。 私有RSA1密钥也被支持。 对于RSA和DSA密钥, ssh-keygen会尝试查找匹配的公钥文件并打印其指纹。
-p
请求更改私钥文件的密码而不是创建新的私钥。 程序将提示输入包含私钥的文件,旧密码以及新密码两次。
-q
Silence ssh-keygen在创建新密钥时由/ etc / rc使用。
-y
该选项将读取私有OpenSSH格式文件并将OpenSSH公钥输出到stdout。
-t 类型
指定要创建的键的类型。 对于协议版本1,可能的值为“rsa1”,对于协议版本2,可能的值为“rsa”或“dsa”。
-B
显示指定私钥或公钥文件的泡泡摘要。
-C 评论
提供新的评论。
-D 阅读器
在阅读器中下载存储在智能卡中的RSA公钥
-N new_passphrase
提供新的密码。
-P 密码
提供(旧)密码。
-U 阅读器
将现有的RSA私钥上传到阅读器中的智能卡中
也可以看看
SSH(1)
J. Galbraith R. Thayer “SECSH公钥文件格式” draft-ietf-secsh-publickeyfile-01.txt 2001年3月工作进度资料
重要提示:使用man命令( %man )查看特定计算机上的命令使用方式。