клиент knife
Используйте подкоманду knife client для управления списком клиентов API и связанными с ними парами открытых и закрытых ключей RSA. Это позволяет выполнять запросы на аутентификацию к серверу Chef Infra Server любым субъектом, использующим API сервера Chef Infra Server, таким как Chef Infra Client и knife.
Примечание
удаление по шаблону
Используйте аргумент bulk delete для удаления любого клиента API, соответствующего шаблону, определённому регулярным выражением. Регулярное выражение должно быть заключено в кавычки и не должно быть окружено косыми чертами (/).
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client bulk delete REGEX
Параметры
Этот аргумент имеет следующие параметры:
-
-D,--delete-validators -
Принудительно удалить клиента, если он также является chef-validator.
Примеры
Нет.
создание
Используйте аргумент create для создания нового клиента API. Этот процесс сгенерирует пару ключей RSA для указанного клиента API. Открытый ключ будет сохранён на сервере Chef Infra Server, а закрытый ключ будет отображён на STDOUT или записан в указанный файл.
. Для Chef Infra Client закрытый ключ необходимо скопировать в систему как /etc/chef/client.pem. . Для knife, закрытый ключ обычно копируется в ~/.chef/client_name.pem и упоминается в файле конфигурации config.rb.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client create CLIENT_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-f FILE,--file FILE -
Сохранить закрытый ключ в указанный файл.
-
-k,--prevent-keygen -
Создать пользователя без открытого ключа. Этот ключ может быть управляем позднее с помощью подкоманд
knife user key.Примечание
Этот параметр действителен только для API сервера Chef Infra Server версии 1.0, выпущенной с Chef Server 12.1. Если этот параметр или параметр--user-keyне передаются в команде, сервер Chef Infra Server создаст пользователя с открытым ключом, названнымdefault, и вернёт закрытый ключ. Для версий Chef Server, предшествующих 12.1, этот параметр не будет работать; открытый ключ всегда генерируется, если не передается параметр--user-keyв команде. -
-p FILE,--public-key FILE -
Путь к файлу, содержащему открытый ключ. Этот параметр не может быть передан в той же команде с
--prevent-keygen. При использовании Chef, по умолчанию генерируется ключ, если этот параметр не передан в команде. Для версии Chef Server 12.x, см. параметр--prevent-keygen. --validator-
Создать клиента как chef-validator. Значение по умолчанию:
true.
Примечание
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Создание клиента администратора
Чтобы создать Chef Infra Client, который может получить доступ к API сервера Chef Infra Server как администратор — иногда называемый «API Chef Infra Client» — с именем «exampleorg» и сохранить его закрытый ключ в файл, введите:
knife client create exampleorg -a -f "/etc/chef/client.pem"
удаление
Используйте аргумент delete для удаления зарегистрированного клиента API. Если используется Chef Client 12.17 или более поздней версии, вы можете удалить несколько клиентов с помощью этой подкоманды.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client delete CLIENT_NAME
Параметры
Этот аргумент имеет следующие параметры:
-
-D,--delete-validators -
Принудительно удалить клиента, если он также является chef-validator.
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Удаление клиента
Чтобы удалить клиента с именем «client_foo», введите:
knife client delete client_foo
Введите Y для подтверждения удаления.
редактирование
Используйте аргумент edit для редактирования деталей зарегистрированного клиента API. При выполнении этой команды knife откроет $EDITOR для редактирования атрибута admin. (Никакие другие атрибуты не должны изменяться с помощью этого аргумента.) По завершении knife обновит сервер Chef Infra Server с этими изменениями.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client edit CLIENT_NAME
Параметры
Эта команда не имеет специфических параметров.
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Редактирование клиента
Чтобы отредактировать клиента с именем «exampleorg», введите:
knife client edit exampleorg
создание ключа
Используйте аргумент key create для создания открытого ключа.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client key create CLIENT_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-e DATE,--expiration-date DATE -
Дата истечения срока действия открытого ключа, указанная в формате ISO 8601:
YYYY-MM-DDTHH:MM:SSZ. Если этот параметр не указан, у открытого ключа не будет даты истечения срока действия. Например:2013-12-24T21:00:00Z. -
-f FILE,--file FILE -
Сохранить закрытый ключ в указанный файл. Если параметр
--public-keyне указан, сервер Chef Infra Server сгенерирует закрытый ключ. -
-k NAME,--key-name NAME -
Имя открытого ключа.
-
-p FILE_NAME,--public-key FILE_NAME -
Путь к файлу, содержащему открытый ключ. Если этот параметр не указан, и только если указан параметр
--key-name, сервер Chef Infra Server сгенерирует пару открытый/закрытый ключ.
Примеры
Нет.
удаление ключа
Используйте аргумент key delete для удаления открытого ключа.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client key delete CLIENT_NAME KEY_NAME
Примеры
Нет.
редактирование ключа
Используйте аргумент key edit для изменения или переименования открытого ключа.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client key edit CLIENT_NAME KEY_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-c,--create-key -
Сгенерировать новую пару открытый/закрытый ключ и заменить существующий открытый ключ сгенерированным открытым ключом. Чтобы заменить открытый ключ существующим открытым ключом, используйте
--public-keyвместо этого. -
-e DATE,--expiration-date DATE -
Дата истечения срока действия открытого ключа, указанная в формате ISO 8601:
YYYY-MM-DDTHH:MM:SSZ. Если этот параметр не указан, у открытого ключа не будет даты истечения срока действия. Например:2013-12-24T21:00:00Z. -
-f FILE,--file FILE -
Сохранить закрытый ключ в указанный файл. Если параметр
--public-keyне указан, сервер Chef Infra Server сгенерирует закрытый ключ. -
-k NAME,--key-name NAME -
Имя открытого ключа.
-
-p FILE_NAME,--public-key FILE_NAME -
Путь к файлу, содержащему открытый ключ. Если этот параметр не указан, и только если указан параметр
--key-name, сервер Chef Infra Server сгенерирует пару открытый/закрытый ключ.
Примеры
Нет.
список ключей
Используйте аргумент key list для просмотра списка открытых ключей для указанного клиента.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client key list CLIENT_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-e,--only-expired -
Показать список истекших открытых ключей.
-
-n,--only-non-expired -
Показать список открытых ключей, не истекших.
-
-w,--with-details -
Показать список открытых ключей, включая URI и статус истечения срока действия.
Примеры
Нет.
показать ключ
Используйте аргумент key show для просмотра деталей определённого открытого ключа.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client key show CLIENT_NAME KEY_NAME
Примеры
Нет.
список
Используйте аргумент list для просмотра списка зарегистрированных клиентов API.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client list (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-w,--with-uri -
Показать соответствующие URI.
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Просмотр списка клиентов
Чтобы проверить список клиентов API для сервера Chef Infra Server, введите:
knife client list
для возврата чего-то подобного:
exampleorg
i-12345678
rs-123456
Чтобы проверить, что клиент API может правильно аутентифицироваться на сервере Chef Infra Server, попробуйте получить список клиентов, используя параметры -u и -k для указания его имени и закрытого ключа:
knife client list -u ORGNAME -k .chef/ORGNAME.pem
перерегистрация
Используйте аргумент reregister для перегенерации пары RSA ключей для клиента API. Открытый ключ будет сохранён на сервере Chef Infra Server, а закрытый ключ будет отображён на STDOUT или записан в указанный файл.
Примечание
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client reregister CLIENT_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-f FILE_NAME,--file FILE_NAME -
Сохранить закрытый ключ в указанный файл.
Примечание
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Перерегистрация клиента
Чтобы перерегистрировать пару ключей RSA для клиента с именем «testclient» и сохранить её в файл «rsa_key», введите:
knife client reregister testclient -f rsa_key
show
Используйте аргумент show для отображения подробностей о клиенте API.
Синтаксис
Этот аргумент имеет следующий синтаксис:
knife client show CLIENT_NAME (options)
Параметры
Этот аргумент имеет следующие параметры:
-
-a ATTR,--attribute ATTR -
Атрибут(ы) для отображения.
Примеры
Следующие примеры показывают, как использовать эту подкоманду knife:
Показать клиентов
Чтобы просмотреть клиента с именем «testclient», введите:
knife client show testclient
что вернёт данные, подобные:
admin: false
chef_type: client
json_class: Chef::ApiClient
name: testclient
public_key:
Чтобы отобразить информацию в формате JSON, используйте общий параметр -F в команде, например так:
knife client show devops -F json
Другие доступные форматы включают text, yaml, и pp.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_client/