Ранее мы анонсировали доступность Infobox Jelastic 2 (обзор). Мы уже успели рассмотреть поддержку Python на примере развертывания Django CMS и Jelastic Cloud API. В этой статье мы более детально рассмотрим процесс доступа по SSH к окружениям Infobox Jelastic 2.
В конце статьи информация о том, как получить 300 рублей на счет для экспериментов с Infobox Jelastic.
Доступ по SSH
SSH (Secure Shell Handler) – протокол, используемый для защищенного подключения к удаленным контейнерам и выполнения требуемых команд. Использование SSH достаточно безопасно: соединение между клиентом и сервером проверяется с помощью цифрового сертификата и передаваемые по SSH данные зашифрованы.
Для организации поддержки SSH в Jelastic был добавлен новый инфраструктурный компонент: шлюз SSH (SSH Gateway). Эта технология принимает подключения пользователей из интернета и передает соединения соответствующим контейнерам по внутренней сети.
Процесс аутентификации в шлюзе SSH разделен на два независимых этапа:
- соединение от конечного пользователя до шлюза, используя внешнюю аутентификацию;
- соединение от шлюза до контейнера пользователя, используя внутреннюю аутентификацию.
Оба этапа процедуры аутентификации основаны на стандартном протоколе SSH с использованием пар ключей «открытый/закрытый».
Используя шлюз SSH в Jelastic вы можете просто получать доступ:
- к целому аккаунту с возможностью навигации между вашими окружениями и контейнерами с использованием интерактивного меню без дополнительной аутентификации.
- напрямую к отдельным контейнерам, когда вы работаете с ними удаленно с использованием дополнительных инструментов (например Capistrano) или используя протоколы SFTP и FISH.
Когда вы получаете доступ к контейнерам через SSH, вы получаете все необходимые права и дополнительно можете управлять основными сервисами с помощью команды sudo.
Если вы разворачиваете любое приложение, изменяете настройки конфигурации или добавляете любую внешнюю функциональность через SSH в ваше окружение Jelastic, это не будет отображено в панели управления.
Генерация SSH–ключа
Для Linux/OS X
Сгенерируйте новый SSH ключ (dsa или rsa) используя утилиту ssh_keygen:
1. Запустите генерацию командой
ssh-keygen -t dsa
Рекомендуем ввести пароль для доступа к ключу, чтобы в случае кражи ключа из вашего компьютера ключ был защищен дополнительно.
2. Перейдите к id_dsa.pub и получите публичный ключ
cd ~/.ssh $ cat id_dsa.pub
3. Скопируйте ключ в буфер обмена ОС.
В этом примере мы сгенерировали dsa ключ. Вы можете сгенерировать и rsa ключ, используя команду:
ssh-keygen -t rsa
Для Windows
1. Скачайте и запустите утилиту генерации ключа SSH, например PuTTYgen:
2. Укажите следующие параметры:
- выберите тип ключа SSH-2 RSA или SSH-2 DSA;
- введите желаемое количество бит (например 2048).
Нажмите Generate.
3. Скопируйте сгенерированный ключ из поля публичного ключа сверху окна.
Укажите пароль в поля key passphrase и сохраните публичный и приватный ключ (например, под именем «id_rsa.pub» и приватный под именем «id_rsa»).
Добавление SSH ключа в Infobox Jelastic
Теперь вы можете добавить сгенерированный публичный ключ в панель управления Jelastic.
1. Откройте панель управления Infobox Jelastic и нажмите кнопку Settings в верхней панели инструментов.
2. В открытой вкладке «Account Settings» перейдите к разделу SSH Access.
3. Нажмите «Add SSH Key» (добавить ключ SSH) и вставьте ранее скопированный в буфер обмена ОС публичный ключ.
4. Нажмите «Add key». В результате ключ появится в списке.
Таким образом вы можете добавить необходимое количество ключей и удалять ненужные.
Добавленный SSH ключ используется для всего аккаунта, а не одного окружения.
Доступ по SSH к аккаунту в Infobox Jelastic
Теперь наконец-то давайте подключимся к нашему аккаунту по SSH. Откройте панель управления Jelastic и нажмите «Settings» в верхней панели инструментов.
В открытой вкладке Account Settings перейдите в раздел SSH Access.
Просто кликните на ссылку для доступа по SSH, выделенную желтым цветом. Консоль откроется автоматически. Или просто скопируйте команду для доступа по SSH и запустите ее в консоли (клиенте SSH).
Рассмотрим процесс подключения более детально для Linux/OS X и Windows.
Подключение по SSH в Linux/OS X
1. Откройте терминал и введите строку подключения по SSH (из Settings -> SSH Access).
Все команды должны исполняться на локальной машине пользователя, т.к. на другой машине нужно сгенерировать отдельный ключ доступа или установить ваш.
2. Вы увидите список доступных на вашем аккаунте окружений для подключения. Пожалуйста, выберите требуемое, введя его номер.
Вы можете подключаться только к запущенным окружениям.
3. После этого вы увидите полный список контейнеров окружения. Для каждого указан ID ноды и ip–адрес. Для доступа к контейнеру введите его номер в списке.
4. Теперь, используя командную строку, вы можете настроить необходимые конфигурации.
Используя командную строчку есть риск что-то сломать в вашем сайте или приложении. Пожалуйста, будьте осторожнее.
Подключение по SSH в Windows
1. Для установки подключения по SSH в Windows вам понадобится сохраненный ранее приватный ключ. Скачайте и запустите PyTTY SSH Agent (называется «Pageant»). Агент появится в системном трее панели задач.
2. Кликните по Pageant и нажмите «Add Key». Выберите свой приватный ключ id_rsa.
Затем вы можете закрыть окно Pageant, но не закрывайте утилиту в системном трее. Она будет использоваться в процессе работы с SSH–сессией.
3. Скачайте и установите клиент SSH PyTTY. Запустите его и перейдите в раздел «Sessions».
4. Заполните поле Host Name данными из вашей строки подключения к SSH. Так же укажите порт для подключения 3022.
В консоли отобразится список доступных окружений. Дальше действия идентичны разделу «Подключение по SSH в Linux/OS X».
Прямой доступ по SSH к контейнеру окружения
Вы можете подключиться сразу к контейнеру окружения, минуя шаги выбора окружения и ноды. Для этого вы должны знать ID контейнера (который можно увидеть, подключившись предыдущим способом).
Используйте значение nodeid и uid требуемого контейнера в следующей команде:
ssh {nodeid}-{uid}@{SSH_gateway} -p 3022
, где {uid} и {ssh_gateway} указаны в панели управления Infobox Jelastic (Settings -> SSH Access).
Например, для прямого доступа к контейнеру с MySQL–5.5.34 используйте следующую команду:
ssh 6481-97@gate.jelastic.com -p 3022
Эта функция полезна, когда вы работаете с инструментами для развертывания и настройки конфигураций удаленного контейнера, например, Capistrano.
Заключение
Мы надеемся, что статья была полезна для вас. Попробуйте облачный
Если вы не можете задавать вопросы на Хабре, можно задать их в комментариях к статье в Сообществе InfoboxCloud.
Успешного использования Infobox Jelastic!
Автор: infobox