клиент 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)
Параметры
Этот аргумент имеет следующие параметры:
-
-a,--admin Создать клиента как административного клиента.
-
-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 версии 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/