Гид по технологиям

Cloud9 по SSH: установка и подключение

• 8 min read • DevOps • Обновлено 22 Nov 2025
Cloud9 по SSH: установка и подключение
Cloud9 по SSH: установка и подключение

Интерфейс Cloud9 с редактором и панелью

Оглавление

  • Что такое Cloud9
  • Подготовка сервера и зависимости
  • Установка Cloud9 на сервер
  • Создание IAM‑пользователя и включение MFA
  • Подключение Cloud9 к вашему серверу по SSH
  • Работа с путями окружения и «Favorites»
  • Установка Cloud9 как «приложения» в Chrome
  • Безопасность, роли и лучшие практики
  • Технические рекомендации и отладка
  • Чек‑лист по ролям
  • Критерии приёмки
  • Глоссарий

Что такое Cloud9

Cloud9 — это веб‑IDE: редактор кода, встроенный терминал и набор инструментов разработки, доступных через браузер. Он используется как в AWS (интегрированный редактор в консоли Lambda), так и на произвольных серверах через SSH. Определение: веб‑IDE — интерактивная среда разработки, доступная в браузере.

Плюсы при подключении к существующему серверу по SSH:

  • Редактирование конфигураций и сервисных файлов прямо на хосте (например, /etc/nginx/).
  • Нет необходимости устанавливать локально node/git/python для работы над проектом.
  • Общий интерфейс для команды: одинаковая среда независимо от устройства разработчика.

Ограничения и когда это не подходит:

  • Если требуется высокая производительность UI или специфичные локальные инструменты, локальные IDE (VS Code, JetBrains) часто лучше.
  • Для сверхчувствительных производственных серверов доступ через браузер может добавить организационную нагрузку по управлению доступом.

Подготовка сервера и зависимости

Перед установкой Cloud9 убедитесь, что у вас есть доступ к серверу с правами пользователя, под которым будет работать редактор. Рекомендуется использовать отдельного администратора для управления Cloud9, а не root в обычной практике.

Основные зависимости, которые нужно установить на сервере (примеры для Debian/Ubuntu):

sudo apt update
sudo apt install -y python2.7 python-pip curl build-essential
  • Python 2.7 — требуется именно эта версия для скриптов установки старых релизов Cloud9.
  • NodeJS — рекомендуется управлять версиями через nvm (Node Version Manager).

Установка nvm и Node.js:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
. ~/.bashrc
nvm install node

Затем загрузите мастер‑скрипт установки Cloud9:

curl -L https://raw.githubusercontent.com/c9/install/master/install.sh | bash

Этот скрипт скачает и развернёт серверную часть Cloud9. Процесс может занять несколько минут.

Важно: если ваша дистрибуция или политика не допускает Python 2, рассмотрите альтернативные оболочки Cloud9 (сообщества форков) или локальное использование современных редакторов.

Создание IAM‑пользователя и включение MFA

AWS рекомендует не использовать root‑аккаунт. Создайте IAM‑пользователя с нужными правами (например, роль с политикой AWSCloud9Administrator или ограниченными правами по принципу наименьших привилегий).

Создание нового IAM пользователя

Шаги:

  1. В IAM Management Console создайте пользователя.
  2. Дайте доступ к консоли управления и задайте пароль.
  3. Прикрепите роль/политику AWSCloud9Administrator или настроенную политику с минимально необходимыми правами.
  4. Во вкладке «Security Credentials» назначьте MFA‑устройство (приложение‑аутентификатор или аппаратный ключ).

Добавление MFA для IAM пользователя

Важно: без MFA риски неавторизованного доступа выше — особенно если IAM имеет широкие права. MFA затрудняет использование украденных учётных данных.

Подключение Cloud9 к вашему серверу по SSH

  1. Войдите в IAM‑учётную запись, предназначенную для Cloud9.
  2. Перейдите в Cloud9 Management Console и выберите создание новой среды (Create environment).

Создание новой среды Cloud9

  1. Выберите вариант подключения: «подключение по SSH к удалённому серверу».
  2. Укажите учётную запись на хосте (ec2-user, ubuntu или root). Рекомендация:
    • Для работы в домашней директории — используйте обычного пользователя (ec2-user/ubuntu).
    • Для редактирования системных файлов — потребуется root, но подключение под root увеличивает риск ошибок и усложняет аудит.

Комментарий по безопасности: подключение как root не рекомендуется, лучше использовать sudo при необходимости редактирования системных файлов.

  1. Введите хост (IP или DNS) и порт SSH (обычно 22). Сервер должен быть доступен из интернета или по VPN/туннелю.

  2. Скопируйте публичный SSH‑ключ, который Cloud9 покажет при создании среды, и добавьте его в ~/.ssh/authorized_keys пользователя на сервере.

  3. Укажите путь окружения (Environment path). По умолчанию это новая папка, но для работы с проектами укажите ~/, /var/www или /. Если путь настроен на /, используйте закладки Favorites для удобства.

  4. Нажмите Create Environment. После инициализации появится редактор и встроенный терминал.

Окно Cloud9 после подключения

Совет: если сервер находится в частной сети, используйте VPN или SSH‑туннель, чтобы Cloud9 мог подключиться к хосту. Также возможна настройка проброса портов через bastion/jump host.

Работа с путями окружения и Favorites

  • Environment path определяет корень файловой системы, доступный основному редактору.
  • Рекомендуется выставлять path в корень домашней директории (~) для повседневной разработки.
  • Для системного администрирования можно установить /, но тогда навигация по дереву будет громоздкой — используйте Favorites для часто используемых папок (/etc/nginx, /var/log, /opt).

Изменить путь можно в настройках среды в Cloud9.

Установка Cloud9 как приложение в Chrome

Cloud9 работает в браузере, но его можно превратить в отдельное приложение:

  1. В Chrome откройте меню «Настройки» → Дополнительные инструменты → Создать ярлык (More Tools > Create Shortcut).
  2. Поставьте галочку «Открывать в окне» (Open as Window). Cloud9 откроется в отдельном окне без панели Chrome.

В меню Chrome выберите Дополнительные инструменты → Создать ярлык

Теперь Cloud9 можно закрепить в доке/панели задач и запускать как обычное приложение.

Безопасность, роли и лучшие практики

Рекомендации по безопасности:

  • Принцип наименьших привилегий: IAM политики должны покрывать только необходимые действия.
  • Используйте MFA для всех IAM аккаунтов, имеющих доступ к Cloud9.
  • Отключайте или удаляйте среды Cloud9, которые не используются длительное время.
  • Логи доступа и CloudTrail: включите аудит действий в AWS для отслеживания создания и подключения сред.
  • Не храните секреты (ключи API, пароли) в открытом виде в рабочем каталоге; пользуйтесь менеджерами секретов.

Управление правами на сервере:

  • Работайте под обычным пользователем и применяйте sudo для операций, требующих прав администратора.
  • Для многопользовательских серверов используйте группы и chown/chmod для ограничения доступа к проектам.

Дополнительная безопасность SSH:

  • Запретите вход по паролю, оставив только аутентификацию по ключу.
  • Ограничьте доступ по IP в Security Group (для EC2) или в firewall.
  • Дефолтный порт 22 можно изменить, но это не замена настоящей защиты.

Технические рекомендации и отладка

Частые проблемы и способы их решения:

  1. Ошибка при установке зависимостей

    • Проверьте версии Python и Node.
    • Проблемы с nvm: убедитесь, что .bashrc или .profile содержит строки и выполните . ~/.bashrc.
  2. Невозможно подключиться из Cloud9 к серверу

    • Убедитесь, что публичный SSH‑ключ добавлен в ~/.ssh/authorized_keys нужного пользователя.
    • Проверьте доступность порта (22) через netcat/ssh с внешней машины.
    • Если сервер в приватной сети, настройте проброс порта через bastion.
  3. Файлы не видны в редакторе

    • Проверьте Environment path: файлы вне корневой директории не отображаются.
    • Попробуйте открыть терминал и выполнить ls в нужном каталоге.
  4. Сессии завершаются или среда недоступна

    • Cloud9 может автоматически останавливать временные EC2‑инстансы; если вы подключили к существующему серверу по SSH, это не должно происходить.

Диагностика SSH из среды Cloud9 (встроенный терминал):

# проверить доступность хоста
ssh -v user@your-host.example.com
# проверить ключи
ls -la ~/.ssh/authorized_keys

Чек‑лист по ролям

Developer:

  • Иметь IAM‑пользователя с доступом к Cloud9.
  • SSL/MFA настроены для доступа к AWS.
  • Environment path указывает на проект (~/).
  • Добавлены Favorites для быстрого доступа к проекту.

DevOps / Администратор:

  • Сервер подготовлен: python2.7, nvm, node установлены.
  • Публичный SSH‑ключ Cloud9 добавлен в authorized_keys.
  • Firewall/Security Group разрешает доступ Cloud9 (или настроен VPN).
  • Включён аудит в CloudTrail для операций с Cloud9.

Security Officer:

  • Принцип наименьших привилегий применён к IAM политикам.
  • MFA включена для всех пользователей с привилегиями.
  • Регулярные проверки созданных сред и удаление неактивных.

Короткая методология развертывания (4 шага)

  1. Подготовить хост: установить python2.7, nvm, node.
  2. Установить Cloud9 через официальный скрипт install.sh.
  3. Создать IAM‑пользователя в AWS и включить MFA.
  4. Создать среду Cloud9 в консоли, указать SSH‑параметры и добавить публичный ключ на сервер.

Когда подход не сработает: контрпримеры

  • Частные сети без VPN или проброса портов: Cloud9 не сможет подключиться напрямую.
  • Организации с политикой «никаких браузерных IDE» по соображениям комплаенса.
  • Старые хосты без необходимого набора зависимостей (например, без возможности установить Python 2).

Критерии приёмки

  • Вы можете открыть Cloud9 и запустить терминал, подключённый к целевому серверу.
  • Редактор отображает файлы в ожидаемом Environment path.
  • Авторизация через IAM + MFA работает, логин защищён.
  • Для операций, требующих прав root, используется sudo (или отдельный root‑профиль), и изменения корректно применяются.

Глоссарий (1‑строчное определение)

  • Cloud9: веб‑IDE с редактором, терминалом и инструментами разработки, доступная по браузеру.
  • IAM: сервис управления доступом в AWS (Identity and Access Management).
  • MFA: многофакторная аутентификация, дополнительный уровень защиты при входе.
  • nvm: менеджер версий Node.js.

Mermaid: решение «подключать ли Cloud9» (простое дерево решений)

flowchart TD
  A[Нужен доступ к файлам на удалённом сервере?] -->|Да| B{Сервер доступен по SSH?}
  A -->|Нет| Z[Используйте локальную IDE]
  B -->|Да| C{Требуется строгий комплаенс/запрет браузерных IDE?}
  B -->|Нет| Y[Настройте VPN или bastion]
  C -->|Нет| D[Подключайте Cloud9 по SSH]
  C -->|Да| X[Используйте защищённый удалённый рабочий стол или локальные IDE]

Рекомендации по приватности и GDPR

  • Не храните персональные данные или секреты в открытых файлах редактора.
  • Если команда работает с данными пользователей ЕС, убедитесь, что доступ и логирование соответствуют политике обработки персональных данных.

Шаблон быстрых команд для развёртывания (cheat sheet)

# обновление и установка зависимостей на Ubuntu/Debian
sudo apt update && sudo apt install -y python2.7 python-pip curl build-essential
# установка nvm и node
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
. ~/.bashrc
nvm install node
# установка Cloud9
curl -L https://raw.githubusercontent.com/c9/install/master/install.sh | bash
# проверить ssh из среды
ssh -v user@host

Итог

Cloud9 по SSH — удобный способ получить браузерную среду разработки, которая работает прямо на удалённом сервере. Для большинства задач разработки и администрирования это экономит время и упрощает совместную работу. Однако важно соблюдать правила безопасности: настроить IAM с принципом наименьших привилегий, включить MFA и ограничить доступ по сети.

Важно: перед массовым развёртыванием в организации обсудите соответствие требованиям безопасности и политики доступа.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро