SSH-KEYGEN
Section: User Commands (1)
Index
NAME
ssh-keygen
- 认证密钥的产生, 管理和转换
总览 (SYNOPSIS)
ssh-keygen
-words
[-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
-i
[-f input_keyfile
]
ssh-keygen
-e
[-f input_keyfile
]
ssh-keygen
-y
[-f input_keyfile
]
ssh-keygen
-c
[-P passphrase
]
[-C comment
]
[-f keyfile
]
ssh-keygen
-l
[-f input_keyfile
]
ssh-keygen
-B
[-f input_keyfile
]
ssh-keygen
-D reader
ssh-keygen
-U reader
[-f input_keyfile
]
描述 (DESCRIPTION)
为
ssh(1)
产生, 管理和转换认证密钥.
能够产生 SSH 协议第一版需要的 RSA 密钥和 SSH 协议第二版需要的
RSA 或 DSA 密钥. 密钥类型可以用
-t
选项指定.
一般说来, 如果用户希望在 SSH 中使用 RSA 或 DSA 认证,
他应该运行一次这个程序, 在
$HOME/.ssh/identity
$HOME/.ssh/id_dsa
或
$HOME/.ssh/id_rsa
文件中创建认证所用的密钥. 另外, 系统管理员可以用它产生主机密钥(host key), 如
/etc/rc
中所见.
正常情况下, 这个程序产生密钥对, 并要求指定一个文件存放私钥.
公钥存放在同名文件中, 只是多了个
``.pub''
后缀. 程序同时要求输入一个密语(passphrase). 密语可以为空, 表示没有密语
(主机密钥的密语必须为空), 也可以是任意长度的字符串.
密语和口令(password)非常相似, 但是密语可以是一句话, 里面有单词, 标点符号,
数字, 空格或任何你想要的字符.
好的密语有 10-30 个字符, 非简单句, 难以猜出 (英文只有 1-2 比特的字符熵,
对密语来说非常糟糕), 由大小写字母, 数字, 非字母混合组成. 密语可以用
-p
选项修改.
丢失的密语不可能恢复. 如果丢失或忘记了密语, 用户必须产生新的密钥, 然后把
相应的公钥分发到其他机器上去.
RSA1 的密钥文件中有一个注释域, 可以方便用户标识这个密钥, 指出密钥的用途
或其他有用的信息. 创建密钥的时候, 注释域初始化为
``user@host''
以后可以用
-c
选项修改.
密钥产生后, 下面的命令描述了怎样处置和激活密钥.
可用的选项有:
- -b bits
-
指定密钥的位长. 最短为 512 比特. 一般认为 1024 位已经足够了. 默认为 1024 位.
- -c
-
要求修改私钥和公钥文件中的注释. 本选项只支持 RSA1 密钥.
程序将提示输入私钥文件名, 密语(如果存在)和新的注释.
- -e
-
此选项读取 OpenSSH 的私钥或公钥文件, 以
`SECSH 公钥文件格式'
将密钥显示在 stdout. 该选项能够为多种商业版本的 SSH 输出密钥.
- -f filename
-
指定密钥文件名.
- -i
-
此选项读取未加密的, 兼容 SSH2 格式的私钥 (或公钥) 文件, 然后在 stdout
显示兼容 OpenSSH 的私钥 (或公钥).
同样识别
`SECSH 公钥文件格式'
该选项能够从多种商业版本的 SSH 输入密钥.
- -l
-
显示某公钥文件的指纹数据. 它也支持 RSA1 的私钥. 对于 RSA 和 DSA 密钥,
寻找对应的公钥文件, 然后显示其指纹数据.
- -p
-
要求改变某私钥文件的密语, 而不是重建私钥.
程序将提示输入私钥文件名, 原来的密语, 以及两次输入新密语.
- -q
-
安静模式. 用于
/etc/rc
创建新密钥的时候.
- -y
-
此选项读取 OpenSSH 格式的私钥文件, 然后在 stdout 显示 OpenSSH 的公钥.
- -t type
-
指定创建密钥的类型. 可选项有协议第一版的
``rsa1''
和协议第二版的
``rsa''
或
``dsa''
- -B
-
显示指定的私钥或公钥文件的内容摘要.
- -C comment
-
提供新的注释.
- -D reader
-
下载存储在智能卡
reader
上的 RSA 公钥.
- -N new_passphrase
-
提供新的密语.
- -P passphrase
-
提供 (旧的) 密语.
- -U reader
-
把现存的 RSA 私钥上传到智能卡
reader
文件 (FILES)
- $HOME/.ssh/identity
-
包含协议第一版的 RSA 用户身份数据.
除了该用户, 不应让其他人读取这个文件.
产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分.
不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候,
ssh(1)
将访问这个文件.
- $HOME/.ssh/identity.pub
-
包含协议第一版的 RSA 公钥. 如果想用 RSA 认证方式远程登录,
文件内容应该添加到所有目标主机的
$HOME/.ssh/authorized_keys
文件中. 此文件内容无需保密.
- $HOME/.ssh/id_dsa
-
包含协议第二版的 DSA 用户身份数据.
除了该用户, 不应让其他人读取这个文件.
产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分.
不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候,
ssh(1)
将访问这个文件.
- $HOME/.ssh/id_dsa.pub
-
包含协议第二版的 DSA 公钥. 如果想用 DSA 认证方式远程登录,
文件内容应该添加到所有目标主机的
$HOME/.ssh/authorized_keys
文件中. 此文件内容无需保密.
- $HOME/.ssh/id_rsa
-
包含用户的协议第二版的 RSA 身份数据.
除了该用户, 不应让其他人读取这个文件.
产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分.
不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候,
ssh(1)
将访问这个文件.
- $HOME/.ssh/id_rsa.pub
-
包含协议第二版的 RSA 公钥.
文件内容应该添加到所有机器, 如果想用 DSA 认证方式登录, 的
$HOME/.ssh/authorized_keys
文件中. 此文件内容无需保密.
作者 (AUTHORS)
OpenSSH 源自最初 Tatu Ylonen 发表的自由 ssh 1.2.12.
Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
Theo de Raadt 和 Dug Song 消除了许多 BUGS, 增加新的特征, 从而创建了 OpenSSH.
Markus Friedl 贡献了对 SSH 协议1.5版和2.0版的支持.
另见 (SEE ALSO)
ssh(1),
ssh-add1,
ssh-agent1,
sshd(8)
-
J. Galbraith
R. Thayer
"SECSH 公钥文件格式"
draft-ietf-secsh-publickeyfile-01.txt
March 2001
进展草案
[中文版维护人]
徐明 <xuming@users.sourceforge.net>
[中文版最新更新]
2004/07/25
《中国Linux论坛man手册页翻译计划》
http://cmpp.linuxforum.net
Index
- NAME
-
- 总览 (SYNOPSIS)
-
- 描述 (DESCRIPTION)
-
- 文件 (FILES)
-
- 作者 (AUTHORS)
-
- 另见 (SEE ALSO)
-
- [中文版维护人]
-
- [中文版最新更新]
-
- 《中国Linux论坛man手册页翻译计划》
-
This document was created by
man2html,
using the manual pages.
Time: 01:25:17 GMT, August 03, 2004