SSH公共密钥身份验证

公钥身份验证(PKI)是一种使用密钥对进行身份验证而不是使用密码的身份验证方法。为SSH身份验证生成了两个密钥:

  • 公共密钥
  • 私人密钥

注意: 仅支持开放SSH密钥格式。

NCM中导入私钥的步骤:

  1. 进入配置自动化 -> 凭证 -> SSH密钥。

  2. 之后点击+ 图标来执行导入操作。

    在SSH密钥导入页面中,浏览并选择私钥文件,之后输入SSH密钥配置文件名称、密码短语和注释。

  3. 点击保存按钮。

注意:私钥文件必须有“600”权限 - (表示只有用户可以进行读写操作)。

生成私钥和公钥的步骤:

Linux:

1. 打开终端。

2. 执行以下命令。
ssh-keygen -t <algorithm-name> -b <no of bits>

示例:

更多详情,请参考以下链接:

https://www.ssh.com/academy/ssh/keygen

3. Cisco IOS仅支持单行最多254个字符。 因此您将无法一次性粘贴此内容。

我们可以使用"fold"命令将公钥分成多个部分:

fold -b -w 72 <public key file>

示例:

我们可以剥离"ssh-rsa"和"root@ncm-test1"之类的内容。

4. 现在我们可以在Cisco IOS路由器中使用剥离的内容了。

Windows:

  1. 在windows中安装OpenSSH。
  2. 使用“管理员”权限打开命令提示符。
  3. 使用"ssh-keygen"命令生成密钥对(Linux中使用的步骤)。

在Cisco IOS路由器中添加公钥:

  1. 使用特权模式登录到Cisco路由器。
  2. 执行以下命令:
    configure terminal
    ip ssh pubkey-chain
    username <username>
    key-string

    示例:

  3. 现在逐行粘贴剥离的公钥。
  4. 粘贴公钥后,退出配置模式。
  5. 添加公钥后,执行以下命令检查指纹。

验证:

要检查Cisco IOS路由器中的公钥指纹,请执行以下命令。

command: show running-config | begin pubkey

输出示例:

在Windows上,使用命令输出检查从PuTTYgen复制的指纹。

在 Linux 上,执行以下命令获取指纹。

ssh-keygen -l -f <public key file> -E md5

示例: