在 UNIX 和 Linux® 操作系统上启用基于 RSA 密钥的认证
您可以使用基于 RSA 密钥的认证作为简单密码认证的备用方法。
关于此任务
根据安装 Tivoli® Directory Integrator 的机器上 ssh-keygen 的可用性,请在以下任一机器上执行此任务。
- 如果在安装 Tivoli Directory Integrator 的机器上 ssh-keygen 未安装或不可用,请在受管资源上执行此任务。
- 如果 ssh-keygen 已安装或可用,请首选在安装 Tivoli Directory Integrator 的机器上执行此任务。
过程
- 使用 ssh-keygen 工具以创建密钥对。
- 以在服务表单上定义的管理员用户身份登录。
- 启动 ssh-keygen 工具。发出以下命令。
mydesktop$# ssh-keygen -t rsa - 在以下提示符处,接受缺省值或输入用于保存密钥对的文件路径,然后按 Enter 键。
Generating public/private dsa key pair. Enter the file in which to save the key (home/root/.ssh/id_rsa):
- 在以下提示符处,接受缺省值或输入口令并按 Enter 键。
Enter the passphrase (empty for no passphrase): passphrase
- 在以下提示符处,确认口令选择,并按 Enter 键。
Enter the same passphrase again: passphrase
此示例是系统响应的样本:Your identification was saved in /home/root/.ssh/id_rsa. Your public key was saved in /home/root/.ssh/id_rsa.pub. The key fingerprint is this value: 2c:3f:a4:be:46:23:47:19:f7:dc:74:9b:69:24:4a:44 root@ps701
注: 尽管 ssh-keygen 工具接受空口令,服务表单上也还是需要口令。
- 验证是否生成了密钥。
- 发出以下命令。
样本系统响应为:mydesktop$ cd $HOME/.ssh mydesktop$ ls -l-rw------- 1 root root 883 Jan 21 11:52 id_rsa -rw-r--r-- 1 root root 223 Jan 21 11:52 id_rsa.pub
- 发出以下命令。
样本系统响应为:mydesktop$ cat id_rsa-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,7F4CF1E209817BA0 GuIQh4EdIp2DY1KfgB3eHic1InCG5VC9/dumHd7AqEnlo241fRuIo8zgO87GV+tk cvKd/pPCGhmyCZy/are0wZt3KLYWUyoN7i+8H2Khk8LmaspD6Tx309VHTfCyoJsu jtuR5c4HbcRtOYhMByHEqllEst1azzlIrO75Qj5cUG01K1MbdTeXq1xUGjo97s+V gEOokMQ+JmaJD9lrbiMz4wjWRtREjHfc1VYTA+ZE1W3HT3PfrjCnHm9RKKFaA6kM fPInefQgdzhCa0mCz+HOKJfkpfPh8ufGM9Jfb99VjZdI77LHeNN4VqeQ/VyPH7pn wp7GbEJ8g6iX4BWUWpXUVStfYNQTV8Dis7ayZtr3g/o+AKnh/dGnk1SHHNFgUUFf/ +E0EXMokHSqqOzwf4t8xp4upnnS/7ag5MIVcU5/iWGW4sDEw7xfB25zD4lbvVK5 kSZeWLgm79wMipKP90iEELPqO6cS2yPXd+ADfHs7FWPQW0UYGFeMnHa/ tlglO5Pxo7ek2iR57mazmx33cofIX6E/ZI9XLysp5TR6Npq1x8KCv2Dk2x3QSH8F54EQmQ2+ 5uDsPA9Hg1B+agkBh/1g3tfevT01cCtUkQGl2ubhrNGB2SiiyKgw9Ks0AL3TO0ul D69D18r6Y6s3pHQ9LYAs6EIq3/5dqNYW8eLQ5eINUIlHBp9ep8+quyqSfB3qPCBW Db+qI09pYhkTrGBD8l5eQqs1T1h2gJsY2yyYV/Cp2m4fI+uHItCgSlkPROnj27Xh p6HAPaFA0zWOz1lmVNYhTbJZlbbwYyf/OKmYuOklSuQ= -----END RSA PRIVATE KEY-----
- 发出以下命令。
样本系统响应为以下消息:mydesktop$ cat id_rsa.pubssh-rsaAAB3NzaC1yc2EAAAABIwAAAIEA9xjGJ+8DLrxSQfVxXYUx4lc9copCG4HwD3TLO5i fezBQx0e9UnIWNFi4Xan3S8mYd6L+TfCJkVZ+YplLAe367/vhc1nDzfNRPJ95YnATefj YEa48lElu7uq1uofM+sZ/b0p7fIWvIRRbuEDWHHUmneoX8U/ptKFZzRpb/ vTE6nE= root@ps0701
- 发出以下命令。
- 在 SSH 服务器上的 /etc/ssh 目录中启用基于密钥的认证。
- 确保 sshd_config 文件中存在以下行:
# Should we allow Identity (SSH version 1) authentication? RSAAuthentication 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 文件中存在以下行:
- 将 rsa.pub 文件复制到 SSH 服务器。
- 如果具有现有 authorized_keys 文件,请对其进行编辑以除去任何 no-pty 限制。
- 将公共密钥添加到 /.ssh 目录中的 authorized_keys 文件。 发出以下命令。
ssh-server$ cat ../id_rsa.pub >> authorized_keys注: 此命令将 RSA 公共密钥连接到 authorized_keys 文件。例如,$HOME/.ssh/authorized_keys。 如果此文件不存在,那么此命令会创建此文件。 - 将 id_rsa 专用密钥文件复制到正在运行 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。