gpssh-exkeys

gpssh-exkeys

在主机之间交换SSH公钥。

概要

gpssh-exkeys -f hostfile_exkeys | - h hostname [-h hostname ...]

gpssh-exkeys -e hostfile_exkeys -x hostfile_gpexpand

gpssh-exkeys -? 

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_keysknown_hostsid_rsa.pub文件以设置无口令访问。
  • 将从每个主机获取的id_rsa.pub 文件中的密钥添加到当前用户的authorized_keys文件中。
  • 使用新的主机信息(如果有)更新所有主机上的authorized_keysknown_hostsid_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密钥:

$ gpssh-exkeys -f hostfile_exkeys

在主机sdw1sdw2sdw3之间交换SSH密钥:

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

在现有主机sdw1sdw2sdw3,新主机sdw4sdw5作为系统扩展操作的一部分:

$ cat hostfile_exkeys
mdw
mdw-1
mdw-2
smdw
smdw-1
smdw-2
sdw1
sdw1-1
sdw1-2
sdw2
sdw2-1
sdw2-2
sdw3
sdw3-1
sdw3-2
$ cat hostfile_gpexpand
sdw4
sdw4-1
sdw4-2
sdw5
sdw5-1
sdw5-2
$ gpssh-exkeys -e hostfile_exkeys -x hostfile_gpexpand

另见

gpsshgpscp