命令参数选项
usage: 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生成、管理和转换认证密钥。
密钥类型可以用 -t 选项指定,如果没有指定则默认RSA密钥。
通常,这个程序产生一个密钥对,并要求指定一个文件存放私钥,同时将公钥存放在附加了".pub"后缀的同名文件中。
程序同时要求输入一个密语字符串(passphrase),空表示没有密语(主机密钥的密语必须为空)。
密语和口令(password)非常相似,但是密语可以是一句话,里面有单词、标点符号、数字、空格或任何你想要的字符。
好的密语要10-30个字符,难以猜出,由大小写字母、数字、非字母混合组成。密语可以用 -p 选项修改。
丢失的密语不可恢复,如果丢失或忘记了密语,用户必须产生新的密钥,然后把相应的公钥分发到其他机器上去。
RSA1的密钥文件中有一个"注释"字段,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。
创建密钥的时候,注释域初始化为"user@host",以后可以用 -c 选项修改。
密钥产生后,下面的命令描述了怎样处置和激活密钥。
可用的选项有(没有列出全部):
-B 显示指定的公钥/私钥文件的 bubblebabble 摘要。
-b bits 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
-C comment 提供一个新注释
-c 请求更改私钥和公钥文件中的注释。 程序将提示您输入包含私钥的文件,如果密钥包含一个,则提示输入密码,并提示新的注释。
-f filename 指定密钥文件名。
-N new_passphrase 提供一个新的密语。
-P passphrase 提供(旧)密语。
-p 请求更改私钥文件的密码短语,而不是创建新的私钥。 程序将提示您输入包含私钥的文件,输入旧密码,并输入两次提示新密码。
-q 安静模式。用于在 /etc/rc 中创建新密钥的时候。
-t type 指定要创建的密钥类型。可以使用: dsa、ecdsa、ed25519、rsa、rsa1
文件
~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/id_ed25519
~/.ssh/id_rsa
包含用户的DSA,ECDSA,Ed25519或RSA身份验证身份。 该文件只能由用户读取。 生成密钥时可以指定一个密码短语; 该密码将用于使用128位AES加密此文件的私有部分。 ssh-keygen不会自动访问此文件,但它是私钥的默认文件。 尝试登录时,ssh(1)将读取此文件。
~/.ssh/id_dsa.pub
~/.ssh/id_ecdsa.pub
~/.ssh/id_ed25519.pub
~/.ssh/id_rsa.pub
包含用于身份验证的DSA,ECDSA,Ed25519或RSA公钥。 该文件的内容应添加到用户希望使用公钥身份验证登录的所有计算机上的〜/ .ssh / authorized_keys中。 无需将此文件的内容保密。
参考