airsh — CLI-клиент для пользователей Airlock: вход в кластер, SSH, Kubernetes, базы данных, копирование файлов.
Полный справочник: airsh help <команда>.
Переменные окружения
| Переменная | Описание | Пример |
|---|---|---|
AIRLOCK_AUTH | Имя коннектора аутентификации (SAML, OIDC, GitHub, local) | github |
AIRLOCK_CLUSTER | Имя корневого или листового кластера | cluster.example.com |
AIRLOCK_LOGIN | Логин ОС по умолчанию на удалённом хосте | root |
AIRLOCK_LOGIN_BROWSER | none — не открывать браузер при SSO | none |
AIRLOCK_PROXY | Адрес Proxy Service | cluster.example.com:3080 |
AIRLOCK_HOME | Каталог конфигурации airsh | ~/.airsh |
AIRLOCK_USER | Имя пользователя Airlock | alice |
AIRLOCK_USE_LOCAL_SSH_AGENT | Интеграция с ssh-agent | true, 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, --jumphost | SSH jump host |
airsh login
Вход в кластер. Сертификат сохраняется в ~/.airsh.
airsh login [<flags>] [<cluster>]| Флаг | Описание |
|---|---|
-o, --out | Сохранить идентичность в файл |
--format | file, openssh, kubernetes |
--browser | none — не открывать браузер |
--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 kubeconfigairsh logout
Удаляет сертификат клиента.
airsh logoutairsh status
Показывает текущий профиль, роли, логины и срок действия сертификата.
airsh statusairsh ls
Список узлов кластера.
airsh ls [<flags>] [<label>]| Флаг | Описание |
|---|---|
-v, --verbose | Показать Node ID |
--cluster | Листовой кластер |
airsh ls
airsh ls os=linux
airsh ls -vairsh ssh
SSH-подключение или выполнение команды.
airsh ssh [<flags>] <[user@]host> [<command>...]| Флаг | Описание |
|---|---|
-p, --port | SSH-порт |
-A, --forward-agent | Проброс агента |
-L, --forward | Локальный проброс портов |
-D, --dynamic-forward | SOCKS5-прокси |
--cluster | Листовой кластер |
-X, --x11-untrusted | X11 forwarding |
-Y, --x11-trusted | Доверенный X11 forwarding |
airsh ssh root@grav-00
airsh ssh -o ForwardAgent=yes root@grav-00
airsh ssh root@env=prod hostnameairsh 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 lsairsh kube login
Вход в кластер Kubernetes, обновление kubeconfig.
airsh kube login <kube-cluster>| Флаг | Описание |
|---|---|
--all | Kubeconfig для всех доступных кластеров |
--as | Impersonation пользователя Kubernetes |
--as-groups | Impersonation группы Kubernetes |
--cluster | Кластер Airlock |
-n, --kube-namespace | Namespace по умолчанию |
airsh db ls
Список доступных баз данных.
airsh db lsairsh 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-dbairsh 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/configairsh 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>airsh request create / ls / review / show / drop / search
Управление запросами доступа (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