Подключение к VM Selectel с MacOS

Разовые настройки



Устанавливаем homebrew.
Homebrew — утилита командной строки в macOS и Linux, которая позволяет устанавливать пакеты и приложения[2].
Распространяется как свободное программное обеспечение с открытым кодом. Написана Максом Хауэллом на языке программирования Ruby. Активно поддерживается сообществом GitHub.
В терминале вводим команду
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
При необходимости вводим пароль администратора MacOS, ждем Enter для подтверждения, ждем некоторое время, пока установка не кончится, и не будет выведена следующая надпись:
Устанавливаем step-cli.
step — это простой в использовании инструмент CLI для создания, эксплуатации и автоматизации систем и рабочих процессов инфраструктуры открытых ключей (PKI). step действует как внешний интерфейс для диспетчера сертификатов и step-ca, онлайн-центра сертификации (CA) X.509 и SSH. step также является автономным универсальным набором инструментов PKI: его можно использовать для многих распространенных операций шифрования и X.509.
SSH (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
В терминале вводим команду
brew install step
Проверяем установку
brew info step

Если вдруг появится надпись
zsh: command not found: brew
тогда нужно дополнительно ввести команду
export PATH=/opt/homebrew/bin:$PATH
step ca bootstrap --ca-url="$CA_URL" --fingerprint="$CA_FINGERPRINT"

В терминале вводим команду
rehash
Теперь step попадает в переменные среды.
В окне терминала последовательно вводим две команды, устанавливающие две переменные среды:
export CA_FINGERPRINT="bbb9560177229f77024f19add62bf8044df0df58e118d470c891f392dbad2d57"
export CA_URL="https://ca-master.s.bit-erp.ru"
Вводим команду для проверки установленных переменных среды (при необходимости).
env
В терминале вводим команду
step ssh login --provisioner  keycloak
Авторизуемся в окте в браузере.
export myusername=mbaliukin
ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 6" -L 13389:127.0.0.1:3389 -A -J ${myusername}@bastion1.s.bit-erp.ru ${myusername}@${myusername}.selectel.bit-erp.ru
Подключаемся по RDP по адресу 127.0.0.1:13389, логин и пароль как в Okta.

Ежедневное подключение

Вариант №1: терминал

step ssh login --provisioner  keycloak
export myusername=mbaliukin
ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 6" -L 13389:127.0.0.1:3389 -A -J ${myusername}@bastion1.s.bit-erp.ru ${myusername}@${myusername}.selectel.bit-erp.ru

Вариант №2: скрипт

Чтобы не писать в терминале коннект каждый день три строки, можно сделать скрипт из них в VSCode:
#!/bin/bash
export bit_username="mbaliukin"
step ssh login --provisioner keycloak
ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 6" -L 13389:127.0.0.1:3389 -A -J ${bit_username}@bastion1.s.bit-erp.ru ${bit_username}@${bit_username}.selectel.bit-erp.ru
Файл сохраняется в терминале.
Затем применяется к нему команда (один раз):
chmod +x /Users/mbalyukin/Desktop/ConnectBitLinux.sh 
Очистка ssh (если пересоздали VM).
ssh-keygen -R mbaliukin.selectel.bit-erp.ru
Остается ежедневно:
Открыть терминал.
Перетащить файл подключения.

Связанные статьи