gpssh-exkeys

在主机之间交换SSH公钥。

概要

  1. gpssh-exkeys -f hostfile_exkeys | - h hostname [-h hostname ...]
  2. gpssh-exkeys -e hostfile_exkeys -x hostfile_gpexpand
  3. gpssh-exkeys -?
  4. gpssh-exkeys --version

描述

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工具使用以下步骤执行密钥交换:

  • 为当前用户创建一个RSA标识密钥对(如果尚不存在)。该密钥对中的公钥被添加到当前用户的authorized_keys文件中。
  • 使用-h、-f、-e以及-x选项指定的每台主机的主机密钥更新当前用户的known_hosts文件。
  • 使用ssh连接到每个主机,并获取authorized_keys、known_hosts和id_rsa.pub文件以设置无口令访问。
  • 将从每个主机获取的id_rsa.pub 文件中的密钥添加到当前用户的authorized_keys文件中。
  • 使用新的主机信息(如果有)更新所有主机上的authorized_keys、known_hosts和id_rsa.pub文件。

选项

-e hostfile_exkeys

进行系统扩展时,这个选项指定包含当前Greenplum系统中每台主机(Master、后备Master和Segment)的所有已配置主机名和主机地址(接口名称)的文件的名称和位置,每行一个名称,其中没有空行或额外的空格。这个文件中指定的主机不能出现在-x使用的主机文件中。

-f hostfile_exkeys

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

-h hostname

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

--version

显示此工具的版本。

-x hostfile_gpexpand

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

-? (帮助)

显示在线帮助。

示例

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

  1. $ gpssh-exkeys -f hostfile_exkeys

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

  1. $ gpssh-exkeys -h sdw1 -h sdw2 -h sdw3

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

  1. $ cat hostfile_exkeys
  2. mdw
  3. mdw-1
  4. mdw-2
  5. smdw
  6. smdw-1
  7. smdw-2
  8. sdw1
  9. sdw1-1
  10. sdw1-2
  11. sdw2
  12. sdw2-1
  13. sdw2-2
  14. sdw3
  15. sdw3-1
  16. sdw3-2
  17. $ cat hostfile_gpexpand
  18. sdw4
  19. sdw4-1
  20. sdw4-2
  21. sdw5
  22. sdw5-1
  23. sdw5-2
  24. $ gpssh-exkeys -e hostfile_exkeys -x hostfile_gpexpand

另见

gpsshgpscp