Teleport CLI
Телепорт можно установить различными способами в том числе и пакетами для OS, но так как мне требуется только авторизация для использования в коде и работа с командно строкой то проще всего скачать tar.gz файл и получить таким образом нужные бинарники.
Важно
Сначала следует узнать версию самого сервиса teleport запущенного в нашей инфре и скачать ровно ту же. Даже небольшие расхождения приводят к несовместимости API.
tsh
Основная утилита для работы из CLI это tsh
.
Аутентификация в teleport
Если добавить ключ -o <имя_файла>
то будет сгенерирован текстовый файл содержащий в себе все необходимые сертификаты для работы с телепортом, что потребуется позже для Teleport. Golang.
Настройка сохраняются в ~/.tsh/
. Из интересного там находится файл current-profile
который указывает на активный профиль если настроено подключение более чем к одному телепорту.
Основные команды
env
выведет список переменных которые надо задать для работы с этим proxy.
ls
Выводит список доступных через этот proxy хостов.
Результаты поиска можно фильтровать:
Внутри одинарных кавычек фильтра допускаются следующие операторы ==, !=, && и ||.
ssh
Позволяет подключиться к хосту за телепортом. Например так:
config
Покажет кусочек конфига ~/.ssh/config
который если туда добавить по идее позволит исползьзовать для телепорт хостов обычный ssh
вместо ./tsh ssh
. Но у меня не завелось. Похоже надо добавлять эти записи в DNS для начала.
Footnotes
-
auth=local
актуально для внутренней инсталляции. ↩