📜  sshkeygen - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:08.841000             🧑  作者: Mango

sshkeygen - Shell-Bash

sshkeygen是一个用于创建和管理SSH密钥对的命令行工具,适用于Shell或Bash环境。它可以生成用于身份验证的公钥和私钥,同时提供了多种选项以便自定义密钥对的生成。

特点
  • 生成随机的RSA、DSA、ECDSA或Ed25519密钥
  • 支持设置密钥的长度
  • 支持设置密钥的有效期
  • 支持设定密码保护私钥
  • 可以将公钥复制到远程服务器上
  • 可以将私钥导出到其他系统上
用法

要使用sshkeygen命令生成密钥对,可以在终端上输入以下命令:

ssh-keygen -t rsa -b 2048 -f ~/.ssh/my_ssh_key

上述命令会生成一个2048位的RSA密钥对,并保存在~/.ssh/my_ssh_key文件中。如果该文件不存在,则sshkeygen将提示用户是否将其创建。如果希望将公钥复制到其他服务器上,请使用以下命令:

ssh-copy-id user@remote_host

此命令将会把本地主机上的公钥复制到remote_host上,以便可以使用私钥进行身份验证。

选项
  • -t keytype - 指定密钥类型(RSA/DSA/ECDSA/Ed25519)
  • -b bits - 指定密钥长度
  • -f filename - 指定密钥的保存位置和文件名
  • -C comment - 添加注释字符串到公钥文件中
  • -N passphrase - 设置口令保护私钥
  • -q - 不在生成过程中产生输出信息
  • -P passphrase - 提供口令以使用具有口令保护的私钥
  • -y - 读取公钥文件并显示公钥的内容
示例

以下是一个创建密码保护的RSA密钥的示例:

ssh-keygen -t rsa -b 2048 -f ~/.ssh/my_rsa_key -N "my_password"

上述命令将生成一个2048位的RSA密钥对,并将私钥保存在~/.ssh/my_rsa_key文件中,同时指定了密码my_password用于保护私钥。

结论

sshkeygen是一个强大而灵活的SSH密钥对生成器,它提供了丰富的选项和易于使用的命令行界面来帮助程序员创建和管理密钥对。如果你经常使用SSH进行远程服务器访问,并希望保护用户身份信息和数据安全性,那么sshkeygen是一个非常实用和必不可少的工具。