此任务描述如何获取和设置 Open Secure Shell (OpenSSH)。
准备工作
在集群中的每台主机上,以 root 用户身份登录并取消注释 ssh 配置文件中的条目。
File: /etc/ssh/ssh_config
Port 22
Protocol 2,1
File: /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication no
关于本任务
您需要在要参与 Db2® pureScale® 实例的每个主机上执行这些步骤。
对于 Linux® 用户,缺省情况下, OpenSSH 安装在 SLES 10 SP3 或更高版本上。
Open Secure Shell (OpenSSH) 是网络连接工具的 SSH 协议组的开放式源代码版本。 这些工具提供了已认证并加密的 shell 功能。 shell 是一个命令语言解释器,它从命令行字符串、标准输入或文件中读取输入。 此主题中的步骤允许您通过 ssh 连接至远程服务器,而不必输入密码。
对于 Db2 pureScale Feature,需要为 root 用户设置无密码 SSH 访问权。 实例所有者需要无密码
SSH 访问权,然而,如果实例所有者未设置此访问权,那么 DB2 安装过程会设置此访问权。 下列步骤概述了如何为 root 用户设置无密码 SSH 访问权。
注: 实例所有者必须将 rlogin 属性设置为缺省值 TRUE。
过程
- 仅适用于 AIX® 操作系统: 如果 OpenSSH 在您的系统上不可用,那么可以从最新的 AIX 扩展包和 Web 下载包 (http://www-03.ibm.com/systems/power/software/aix/solutions.html) 获取。 OpenSSH 文件集包括了 openssh.man.en_US 的手册页。 在因特网上, openBSD 提供了文档,网址为 http://www.openssh.org/manual.html。
- 仅适用于 AIX 操作系统: 安装 OpenSSH。 AIX for OpenSSH 上的缺省设置是启用的公用密钥。
- 设置基于公用密钥的认证。 基于公用密钥的认证使单个用户标识能够在实例中的每台主机上作为该用户标识登录,而不会被提示输入密码。 必须对要使用无密码 SSH 的 root 用户标识启用基于公用密钥的认证。
如果用户标识具有 ~/.ssh 目录,确保该目录不允许进行组访问或其他写访问。 确保用户的主目录不允许进行组访问或其他写访问。 SSH 会将这种情况视为安全漏洞,如果目录许可权没有足够的限制性,那么 SSH 将不允许进行基于公用密钥的认证。
现有 ~/.ssh 目录不是必需的,这是因为如果此目录不存在,那么 ssh-keygen 命令会创建此目录并设置适当的访问权。
在 ~/.ssh 目录中,生成公用密钥/专用密钥对。 例如,要使用 RSA 生成 ssh 密钥,请运行以下命令:
每当系统提示您进行输入时,请按 Enter 键以接受缺省值。 (确保未输入口令,否则 SSH 将对每次认证尝试都进行提问,要求用户输入相同的口令作为响应。 但是,
DB2 产品不允许远程 shell 实用程序提示进行其他验证。) 此操作会在
~/.ssh 目录中生成两个新文件 id_rsa(专用密钥)和 id_rsa.pub(公用密钥)以用于 RSA 加密。
注: 还支持其他加密类型。 但是,建议使用 RSA 加密,因为它更安全。
- 必须在每个主机上生成公用密钥,并将每个主机中每个公用密钥的内容附加到名为 authorized_keys的单个文件。 然后,将 authorized_keys 文件复制到每个主机上的用户 $HOME/.ssh 目录,并运行 chmod 644 authorized_keys 命令。