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-ключами между хостами с указанными именами (или адресами).
Это позволяет устанавливать SSH-подключения между хостами и сетевыми интерфейсами Greengage DB без ввода пароля.
Утилита используется для первоначальной настройки беспарольного SSH-доступа в кластере Greengage DB, а также для подготовки дополнительных хостов при его расширении.
Обмен ключами выполняется от имени текущего пользователя.
Утилиту следует запускать на мастер-хосте от имени gpadmin (владельца установки Greengage DB).
Утилиты управления кластером Greengage DB требуют, чтобы пользователь gpadmin существовал на всех хостах системы и мог подключаться к ним без ввода пароля.
gpssh-exkeys можно использовать для настройки беспарольного SSH-доступа и для других пользователей.
Предварительные требования:
-
У пользователя должна быть учетная запись на мастер-хосте, резервном мастер-хосте и каждом сегмент-хосте кластера.
-
На мастер-хосте должна быть установлена пара SSH-ключей id_rsa.
-
Пользователь должен иметь возможность подключаться через SSH с мастер-хоста ко всем хостам без ввода пароля.
Команда ssh-copy-id настраивает 1-n беспарольный SSH, добавляя открытый ключ пользователя в файл authorized_keys каждого хоста.
Утилита gpssh-exkeys настраивает n-n беспарольный SSH, позволяя подключаться с любого хоста к любому другому хосту в кластере без пароля.
Для указания хостов используйте параметр -f с файлом или параметр -h с именами отдельных хостов в командной строке.
Необходим хотя бы один хост (-h) или хост-файл (-f).
Локальный хост включен в обмен ключами по умолчанию.
Для добавления новых хостов в существующий кластер используйте параметры -e и -x.
Параметр -e задает файл со списком существующих хостов, уже обменявшихся SSH-ключами.
Параметр -x задает файл со списком новых хостов для обмена SSH-ключами.
Утилита gpssh-exkeys выполняет обмен ключами следующим образом:
-
Добавляет открытый ключ пользователя в файл authorized_keys на текущем хосте.
-
Обновляет файл known_hosts текущего пользователя, добавляя ключи хостов, указанных с помощью параметров
-h,-f,-eи-x. -
Подключается к каждому хосту по
sshи получает файлы authorized_keys, known_hosts и id_rsa.pub. -
Добавляет ключи из полученных файлов id_rsa.pub в файл authorized_keys текущего пользователя.
-
Обновляет файлы authorized_keys, known_hosts и id_rsa.pub на всех хостах новой информацией (при наличии изменений).
Параметры
- -e <hostfile_exkeys>
-
При расширении системы — файл со всеми именами хостов и адресами (именами интерфейсов) текущего кластера Greengage DB (мастер-хост, резервный мастер-хост и сегменты), по одному имени на строку без пустых строк и лишних пробелов. Хосты из этого файла не должны указываться в файле, заданном параметром
-x. - -f <hostfile_exkeys>
-
Файл со всеми именами хостов и адресами (именами интерфейсов) в кластере Greengage DB (мастер-хост, резервный мастер-хост и сегменты), по одному имени на строку без пустых строк и лишних пробелов.
- -h <hostname>
-
Имя или адрес хоста для обмена SSH-ключами. Параметр можно указывать несколько раз для задания нескольких хостов.
- --version
-
Отображает версию утилиты.
- -x <hostfile_gpexpand>
-
При расширении системы — файл со списком имен хостов и адресов (имен интерфейсов) всех новых сегмент-хостов, добавляемых в кластер Greengage DB (по одному имени на строку без пустых строк и лишних пробелов). Хосты из этого файла не должны указываться в файле, заданном параметром
-e. - -?
-
Выводит справку.
Примеры
-
Обмен SSH-ключами между всеми хостами из файла hostfile_exkeys:
$ gpssh-exkeys -f hostfile_exkeys -
Обмен SSH-ключами между хостами
sdw1,sdw2иsdw3:$ gpssh-exkeys -h sdw1 -h sdw2 -h sdw3 -
Обмен SSH-ключами между существующими хостами
sdw1,sdw2иsdw3и новыми хостамиsdw4иsdw5в рамках расширения кластера:$ gpssh-exkeys -e hostfile_exkeys -x hostfile_gpexpandhostfile_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
hostfile_gpexpand выглядит следующим образом:
sdw4 sdw4-1 sdw4-2 sdw5 sdw5-1 sdw5-2