目录

使用 ssh-keygen 生成密钥

目录

ssh-keygen 主要用于为 ssh(远程登录程序) 生成、管理和转换验证密钥。ssh-keygen 可以创建供 SSH 协议版本 1 使用的 RSA 密钥,以及供 SSH 协议版本 2 使用的 RSA 或 DSA 密钥。生成的密钥类型使用 -t 选项指定。

ssh-keygen 它支持 RSA 和 DSA 两种认证密钥,下面是的一些注意参数(可以使用 ssh-keygen /? 看看参数信息):

  • -b bits
    指定要创建的密钥的位数。最小位数为 512 位。通常,2048 位足以满足安全需要。密钥大小超过该值并不会提高安全性,反而会降低速度。缺省值为 2048 位。

  • -B
    显示指定的私钥或公钥文件的 bubblebabble 摘要。

  • -c
    请求更改私钥和公钥文件中的注释。该程序会提示您提供包含私钥的文件、口令短语(如果密钥具有一个口令短语)以及新的注释。 此选项仅适用于 rsa1 (SSHv1) 密钥。

  • -C comment
    提供新注释。

  • -e
    此选项读取 OpenSSH 私钥或公钥文件并将密钥以 “SECSH” 公钥文件格式输出到 stdout。此选项允许导出密钥供其他一些 SSH 实现使用。

  • -f
    指定密钥文件的文件名。

  • -F
    在 known_hosts 文件中搜索指定的 hostname,列出找到的任何匹配项。此选项可用于查找散列格式的主机名或地址,还可以与 -H 选项一起使用,以散列格式输出找到的密钥。

  • -H
    对 known_hosts 文件执行散列计算。此选项使用散列形式替换指定文件内的所有主机名和地址。原始内容将移动到后缀为 .old 的文件中。这些散列值通常由 ssh 和 sshd 使用,即使文件内容被公开,这些散列值也并不会透露可识别的信息。此选项不会修改现有的散列主机名,因此可以放心地用于同时包含散列名称和非散列名称的文件。

  • -i
    此选项以 SSH2 兼容格式读取未加密的私钥(或公钥)文件并将 OpenSSH 兼容的私钥(或公钥)输出到 stdout。ssh-keygen 还可读取 “SECSH” 公钥文件格式。此选项允许从其他一些 SSH 实现中导入密钥。

  • -l
    显示指定的私钥或公钥文件的指纹。

  • -N new_passphrase
    提供新口令短语。

  • -p
    请求更改私钥文件的口令短语,而不创建新私钥。该程序会提示您提供包含私钥的文件、旧口令短语,并两次提示您输入新口令短语。

  • -P passphrase
    提供(旧)口令短语。

  • -q
    退出 ssh-keygen。

  • -t type
    指定用于生成密钥的算法,其中 type 是 rsa、dsa 和 rsa1 中的一种。rsa1 类型仅用于 SSHv1 协议。

  • -R hostname
    从 known_hosts 文件中删除属于 hostname 的所有密钥。此选项可用于删除散列主机。请参见 -H。

  • -x
    已过时。已被 -e 选项取代。

  • -X
    已过时。已被 -i 选项取代。

  • -y
    此选项读取 OpenSSH 私钥格式文件并将 OpenSSH 公钥输出到 stdout。