在 UNIX 和 Linux® 操作系统上启用基于 DSA 密钥的认证
您可以使用基于 DSA 密钥的认证作为简单密码认证的备用方法。
关于此任务
根据安装 Tivoli® Directory Integrator 的机器上 ssh-keygen 的可用性,请在以下任一机器上执行此任务。
- 如果在安装 Tivoli Directory Integrator 的机器上 ssh-keygen 未安装或不可用,请在受管资源上执行此任务。
- 如果 ssh-keygen 已安装或可用,请首选在安装 Tivoli Directory Integrator 的机器上执行此任务。
过程
- 使用 ssh-keygen 工具以创建密钥对。
- 以在服务表单上定义的管理员用户身份登录。
- 启动 ssh-keygen 工具。 发出以下命令。
[root@ps2372 root]# ssh-keygen -t dsa - 在以下提示符处,接受缺省值或输入用于保存密钥对的文件路径,然后按 Enter 键。
Generating public/private dsa key pair. Enter the file in which to save the key (/root/.ssh/id_dsa):
- 在以下提示符处,接受缺省值或输入口令并按 Enter 键。
Enter the passphrase (empty for no passphrase): passphrase
- 在以下提示符处,确认口令选择,并按 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 工具接受空口令,服务表单上也还是需要口令。
- 验证是否生成了密钥。
- 发出以下命令。
样本系统响应为以下消息:[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
- 发出以下命令。
样本系统响应为以下消息:[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----- - 发出以下命令。
样本系统响应为以下消息:[root@ps2372 .ssh]# cat id_dsa.pubssh-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
- 发出以下命令。
- 在 SSH 服务器上的 /etc/ssh 目录中启用基于密钥的认证。
- 确保 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 - 重新启动 SSH 服务器。
- 确保 sshd_config 文件中存在以下行:
- 将 dsa.pub 文件复制到 SSH 服务器。
- 如果具有现有 authorized_keys 文件,请对其进行编辑以除去任何 no-pty 限制
- 将公共密钥添加到 /.ssh 目录中的 authorized_keys 文件。 发出以下命令:
[root@ps2372 .ssh]# cat id_dsa.pub >> authorized_keys注: 此命令将 DSA 公共密钥连接到 authorized_keys 文件。例如,$HOME/.ssh/ authorized_keys。 如果此文件不存在,那么此命令会创建此文件。 - 将 id_dsa 专用密钥文件复制到正在运行 Tivoli Directory Integrator 的客户机工作站。
- 设置专用密钥所有权值。如果 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。