airsh — CLI-клиент для пользователей Airlock: вход в кластер, SSH, Kubernetes, базы данных, копирование файлов.

Полный справочник: airsh help <команда>.

Переменные окружения

ПеременнаяОписаниеПример
AIRLOCK_AUTHИмя коннектора аутентификации (SAML, OIDC, GitHub, local)github
AIRLOCK_CLUSTERИмя корневого или листового кластераcluster.example.com
AIRLOCK_LOGINЛогин ОС по умолчанию на удалённом хостеroot
AIRLOCK_LOGIN_BROWSERnone — не открывать браузер при SSOnone
AIRLOCK_PROXYАдрес Proxy Servicecluster.example.com:3080
AIRLOCK_HOMEКаталог конфигурации airsh~/.airsh
AIRLOCK_USERИмя пользователя Airlockalice
AIRLOCK_USE_LOCAL_SSH_AGENTИнтеграция с ssh-agenttrue, false
AIRLOCK_GLOBAL_AIRSH_CONFIGПуть к глобальному конфигу/etc/airsh.yaml
AIRLOCK_IDENTITY_FILEПуть к файлу идентичности/opt/identity

Глобальные флаги

ФлагОписание
-l, --loginЛогин ОС на удалённом хосте
--proxyАдрес Proxy Service: host:https_port[,ssh_proxy_port]
--userИмя пользователя Airlock
--ttlСрок действия сертификата в минутах (по умолчанию 720)
-i, --identityФайл идентичности
--authКоннектор аутентификации (по умолчанию local)
--insecureНе проверять сертификат сервера (только для тестов)
-d, --debugПодробный вывод
-J, --jumphostSSH jump host

airsh login

Вход в кластер. Сертификат сохраняется в ~/.airsh.

airsh login [<flags>] [<cluster>]
ФлагОписание
-o, --outСохранить идентичность в файл
--formatfile, openssh, kubernetes
--browsernone — не открывать браузер
--no-use-local-ssh-agentНе загружать сертификат в ssh-agent
airsh --proxy=proxy.example.com login
airsh --proxy=proxy.example.com --auth=local --user=admin login
airsh --proxy=proxy.example.com --auth=github login
airsh --ttl=1 login
airsh login --format=kubernetes -o kubeconfig

airsh logout

Удаляет сертификат клиента.

airsh logout

airsh status

Показывает текущий профиль, роли, логины и срок действия сертификата.

airsh status

airsh ls

Список узлов кластера.

airsh ls [<flags>] [<label>]
ФлагОписание
-v, --verboseПоказать Node ID
--clusterЛистовой кластер
airsh ls
airsh ls os=linux
airsh ls -v

airsh ssh

SSH-подключение или выполнение команды.

airsh ssh [<flags>] <[user@]host> [<command>...]
ФлагОписание
-p, --portSSH-порт
-A, --forward-agentПроброс агента
-L, --forwardЛокальный проброс портов
-D, --dynamic-forwardSOCKS5-прокси
--clusterЛистовой кластер
-X, --x11-untrustedX11 forwarding
-Y, --x11-trustedДоверенный X11 forwarding
airsh ssh root@grav-00
airsh ssh -o ForwardAgent=yes root@grav-00
airsh ssh root@env=prod hostname

airsh scp

Копирование файлов.

airsh scp [<flags>] <source>... <dest>
ФлагОписание
-r, --recursiveРекурсивное копирование
-P, --portПорт
--clusterЛистовой кластер

airsh join

Присоединение к активной сессии.

airsh join [<flags>] <session-id>

airsh clusters

Список доверенных кластеров.

airsh clusters [--quiet]

airsh kube ls

Список доступных кластеров Kubernetes.

airsh kube ls

airsh kube login

Вход в кластер Kubernetes, обновление kubeconfig.

airsh kube login <kube-cluster>
ФлагОписание
--allKubeconfig для всех доступных кластеров
--asImpersonation пользователя Kubernetes
--as-groupsImpersonation группы Kubernetes
--clusterКластер Airlock
-n, --kube-namespaceNamespace по умолчанию

airsh db ls

Список доступных баз данных.

airsh db ls

airsh db connect

Подключение к базе данных через встроенный клиент.

airsh db connect --db-user=<user> --db-name=<db> <database>

airsh proxy db

Локальный прокси для подключения к базе данных.

airsh proxy db [<flags>] <db>
ФлагОписание
--db-userПользователь БД
--db-nameИмя базы данных
--portЛокальный порт
--tunnelАутентифицированный туннель без дополнительных учётных данных
--clusterЛистовой кластер
airsh proxy db mysql-db
airsh proxy db --port 10700 mysql-db
airsh proxy db --tunnel mysql-db

airsh recordings ls

Список записанных сессий.

airsh recordings ls [--last=6h0m0s] [--from-utc=YYYY-MM-DD] [--to-utc=YYYY-MM-DD]

airsh play

Воспроизведение записанной сессии.

airsh play <session-id>

airsh config

Вывод конфигурации OpenSSH для использования с Airlock.

airsh config >> ~/.ssh/config

airsh proxy ssh

Локальный TLS-прокси для SSH (режим TLS-маршрутизации).

airsh proxy ssh [<flags>] <[user@]host>

airsh version

Версия клиента и сервера.

airsh version [--format=json] [--client]

airsh mfa add / ls / rm

Управление устройствами MFA.

airsh mfa add
airsh mfa ls
airsh mfa rm <type>

Управление запросами доступа (Access Requests).

airsh request create --roles=prod --reason="..."
airsh request ls [--my-requests] [--reviewable]
airsh request review --approve <request-id>
airsh request show <request-id>
airsh request drop [<request-id>...]
airsh request search --kind=node --labels=env=dev