gpssh-exkeys

    gpssh-exkeys工具在指定的主机名(或主机地址)之间交换SSH密钥。这允许Greenplum主机和网络接口之间的SSH连接,而不需要口令提示。该工具用于最初将Greenplum数据库系统准备好用于无口令的SSH访问,以及在扩展Greenplum数据库系统时添加额外的ssh密钥。

    要指定参与初始SSH密钥交换的主机,请使用-f 选项指定包含主机名列表的文件(推荐),或使用-h选项在命令行上指出单个主机名。至少需要一个主机名(-h)或主机文件。请注意,本地主机默认包含在密钥交换中。

    指定要添加到现有Greenplum数据库系统的新扩展主机,请使用-e和-x选项。-e选项指定一个文件,其中包含系统中已有SSH密钥的现有主机列表。-x 选项指定一个文件,其中包含需要参与SSH密钥交换的新主机列表

    密钥要作为当前登录的用户交换。用户应该执行两次密钥交换过程:一次作为root用户,一次作为gpadmin用户(拥有Greenplum数据库安装的用户)。Greenplum数据库管理要求在Greenplum数据库系统的所有主机上创建相同的非root用户,并且这些工具必须能够以该用户的身份连接到所有主机而无需口令。

    gpssh-exkeys工具使用以下步骤执行密钥交换:

    • 使用-h、-f、-e以及-x选项指定的每台主机的主机密钥更新当前用户的known_hosts文件。
    • 使用ssh连接到每个主机,并获取authorized_keys、known_hosts和id_rsa.pub文件以设置无口令访问。
    • 使用新的主机信息(如果有)更新所有主机上的authorized_keys、known_hosts和id_rsa.pub文件。

    -e hostfile_exkeys

    -f hostfile_exkeys

    指定包含Greenplum系统中每台主机(Master、后备Master和Segment)的所有已配置主机名和主机地址(接口名称)的文件的名称和位置,每行一个名称,其中没有空行或额外的空格。

    -h hostname

    指定将参与SSH密钥交换的单个主机名(或主机地址)。用户可以多次使用-h选项来指定多个主机名和主机地址。

    --version

    显示此工具的版本。

    进行系统扩展时,这是一个文件的名称和位置,该文件包含要添加到Greenplum系统的每台新Segment主机的所有已配置主机名和主机地址(接口名称),每行一个名称,其中没有空行或额外的空格。这个文件中指定的主机不能出现在-e使用的主机文件中。

    -? (帮助)

    显示在线帮助。

    在文件hostfile_exkeys中列出的所有主机名和地址之间交换SSH密钥:

    在主机sdw1、sdw2和sdw3之间交换SSH密钥:

    在现有主机sdw1、sdw2和sdw3,新主机sdw4和sdw5作为系统扩展操作的一部分: