在 UNIX 和 Linux® 操作系统上启用基于 DSA 密钥的认证

您可以使用基于 DSA 密钥的认证作为简单密码认证的备用方法。

关于此任务

根据安装 Tivoli® Directory Integrator 的机器上 ssh-keygen 的可用性,请在以下任一机器上执行此任务。
  • 如果在安装 Tivoli Directory Integrator 的机器上 ssh-keygen 未安装或不可用,请在受管资源上执行此任务。
  • 如果 ssh-keygen 已安装或可用,请首选在安装 Tivoli Directory Integrator 的机器上执行此任务。

过程

  1. 使用 ssh-keygen 工具以创建密钥对。
    1. 以在服务表单上定义的管理员用户身份登录。
    2. 启动 ssh-keygen 工具。
      发出以下命令。
      [root@ps2372 root]# ssh-keygen -t dsa
    3. 在以下提示符处,接受缺省值或输入用于保存密钥对的文件路径,然后按 Enter 键。
      Generating public/private dsa key pair.
      Enter the file in which to save the key (/root/.ssh/id_dsa):
    4. 在以下提示符处,接受缺省值或输入口令并按 Enter 键。
      Enter the passphrase (empty for no passphrase): passphrase
    5. 在以下提示符处,确认口令选择,并按 Enter 键。
      Enter the same passphrase again: passphrase
      以下是系统响应的样本:
      Your identification is saved in /root/.ssh/id_dsa.
      Your public key is saved in /root/.ssh/id_dsa.pub. 
      The key fingerprint is this one:
      9e:6c:0e:e3:d9:4f:37:f1:dd:34:fc:20:36:67:b2:94 root@ps2372.persistent.co.in
      注: 尽管 ssh-keygen 工具接受空口令,服务表单上也还是需要口令。
  2. 验证是否生成了密钥。
    1. 发出以下命令。
       [root@ps2372 root]# cd root/.ssh
        
       [root@ps2372 .ssh]# ls –l
      样本系统响应为以下消息:
       -rwxr-xr-x 1 root root 736 Dec 20 14:33 id_dsa 
       -rw-r--r-- 1 root root 618 Dec 20 14:33 id_dsa.pub
    2. 发出以下命令。
      [root@ps2372 .ssh]# cat id_dsa 
      样本系统响应为以下消息:
      -----BEGIN DSA PRIVATE KEY----- 
      Proc-Type: 4,ENCRYPTED 
      DEK-Info: DES-EDE3-CBC,32242D3525AEDC64 
      MOZ0m/BCLFNS+ujlcnQR3gOIb5w5hwu1jByw8/kyvTMIHqAx1ANgqV1gFBGX7F0
      vdfmNQKnjLcH8cGueUYnmx4vSu9FnKK91abNW9Nd67MDtJEztHckahXDYy7oX1t
      LNh3QtaZ32AgHro7QxxCGIHQeDaiGePg7WhVqH8EXo3c+/L/5sQpfx0eG30nrDjl
      +cmXgmzU2uQsPL2ckP9NQTgRU4QgWYDBle0YhUXTAG8eW9XG9iCm9iFO4WLWtWd24
      Q799A1w6UJReHKQq+vdrN76PgK32NMNmindOqzKVzFL4TsjLyGyWofImpG65oO
      FSc4GXTsRkZ0OQxixakpKShRpJ5pW6V1PN4tR/RCRWmpW/yZTr4qtQzcw+AY6ONA
      QEVtJQeN69LJncuy9MY/K2F7hn5lCYy/TOnM1OOD6/a1R6U4xoH6qkasLGchiTIP
      /NIfrITQho49I7cIJ9HmW54Bmeqh2U9WiSD4aSyxL1Mm6vGoc81U2XjJmcUmQ9XHmhx
      R4iWaATaz6RTsxBksNhn7jVx34DDvRDJ4MSjLaNpjnvAdYTM7YislsBulDTr8ZF6P9
      Fa7VyFP4TyCjUM1w== 
                        -----END DSA PRIVATE KEY----- 
    3. 发出以下命令。
       [root@ps2372 .ssh]# cat id_dsa.pub 
      样本系统响应为以下消息:
            ssh-dsa   
      AAAAB3NzaC1kc3MAAACBAIHozHi6CHwvGDt7uEYkEmn4STOj2neOo5mPOZFpBjs
      KzzWBqBuAxoMwMgHy3zZAIgmzMwIVQum4/uIHlhOx0Q4QDLJbveFShuXxBjm5BOU1
      rCCSeqYCOPdub9hx3uzZaTNqfFIvO4/NTcjp7pgQqBdvWs0loyYViYVWpVQmMdif
      AAAAFQDhaD9m//n07C+R+X46g5iTYFA9/QAAAIBVbBXXL3/+cHfbyKgCCe2CqjRESQ
      i2nwiCPwyVzzwfHw4MyoYe5Nk8sfTiweY8Lus7YXXUZCPbnCMkashsbFVO9w
      /q3xmbrKfBTS+QOjs6nebftnxwk/RrwPmb9MS/kdWMEigdCoum9MmyJlOw5fwGl
      P1ufVHn+v9uTKWpPgr0egAAAIArKV4Yr3mFciTbzcGCicW+axekoCKq520Y68mQ
      1xrI4HJVnTOb6J1SqvyK68eC2I5lo1kJ6aUixJt/D3d/GHnA+i5McbJgLsNuiDs
      RI3Q6v3ygKeQaPtgITKS7UY4S0FBQlw9q7qjHVphSOPvo2VUHkG6hYiyaLvLrX
      Jo7JPk6tQ== root@ps2372.persistent.co.in 
  3. 在 SSH 服务器上的 /etc/ssh 目录中启用基于密钥的认证。
    1. 确保 sshd_config 文件中存在以下行:
      # Should we allow Identity (SSH version 1) authentication?
      	DSAAuthentication yes
        
      	# Should we allow Pubkey (SSH version 2) authentication?
      	PubkeyAuthentication yes
              
      	# Where do we look for authorized public keys?
      # If it doesn't start with a slash, then it is
      # relative to the user's home directory
      AuthorizedKeysFile .ssh/authorized_keys
    2. 重新启动 SSH 服务器。
  4. dsa.pub 文件复制到 SSH 服务器。
  5. 如果具有现有 authorized_keys 文件,请对其进行编辑以除去任何 no-pty 限制
  6. 将公共密钥添加到 /.ssh 目录中的 authorized_keys 文件。
    发出以下命令:
    [root@ps2372 .ssh]# cat id_dsa.pub >> authorized_keys
    注: 此命令将 DSA 公共密钥连接到 authorized_keys 文件。
    例如,$HOME/.ssh/ authorized_keys。 如果此文件不存在,那么此命令会创建此文件。
  7. id_dsa 专用密钥文件复制到正在运行 Tivoli Directory Integrator 的客户机工作站。
  8. 设置专用密钥所有权值。如果 Tivoli Directory Integrator 服务器为 Unix 或 Linux,请使用 chmod 来将专用密钥许可权值设置为 600
    注:
    • 完成这些步骤。从客户机登录到服务器时,系统会提示您提供密钥口令而不是用户密码。
    • 如果安装的 ssh 使用 AES-128-CBC 密码,那么 RXA 无法从此文件访存专用密钥。基于 RSA 密钥的认证未运行。要支持基于 RSA 密钥的认证,请执行以下其中一项操作:
      • 安装使用 DES-EDE3-CBC 密码的 ssh。
      • 在环境中安装 RXA 2.3.0.9 软件包。RXA 2.3.0.9 支持 AES-128-CBC 密码。

        RXA 2.3.0.9 包含在 Tivoli Directory Integrator V7.1.1 的基本发行版中,还适用于 Tivoli Directory Integrator V7.0 FP8 和 Tivoli Directory Integrator V7.1 FP7。