ShellHub — это современное решение для удаленного управления Linux-устройствами, которое позволяет получить доступ к любому устройству без необходимости настройки публичного IP или открытия портов. Это удобный инструмент для команд, которые работают с несколькими устройствами и нуждаются в централизованном управлении SSH-доступом.
Установка ShellHub через Docker Compose
- Установите Docker и Docker Compose: Скачайте и установите Docker с официального сайта https://www.docker.com/products/docker-desktop. Убедитесь, что порты 80 и 22 свободны на хосте.
- Создайте каталог для проекта: Создайте папку, например,
/opt/shellhub, и перейдите в неё: - Клонируйте репозиторий: Используйте следующую команду для клонирования:
- Запустите контейнер: Создайте файл
docker-compose.yamlс содержимым ниже и запустите его: - Проверьте статус контейнера: Убедитесь, что сервис работает и доступен через браузер.
version: '3.8'
services:
shellhub:
image: shellhubio/agent
container_name: shellhub
ports:
- "80:80"
- "22:22"
volumes:
- /opt/shellhub/data:/data
environment:
- SH_HOST=shellhub
- SH_PORT=22
- SH_DOMAIN=shellhub
- SH_TLS=false
После запуска откройте http://localhost/setup, чтобы создать администраторский аккаунт и пространство имен.
Установка агента на устройстве
- Запустите установщик: Используйте следующую команду для установки агента на Linux-устройстве:
- Ввод кода парирования: Агент выводит код парирования, который нужно ввести в консоль для привязки устройства.
- Подключение через SSH: После успешной привязки вы можете подключиться к устройству через SSH:
- Обновление ShellHub: Для обновления измените ветку в
docker-compose.yamlи перезапустите сервис. - Резервное копирование: Регулярно сохраняйте данные из каталога
/opt/shellhub/data.
curl -sSf http:///install.sh | sh
ssh @.@
Безопасность и настройка HTTPS
- Включение HTTPS: Для обеспечения безопасности включите TLS в
docker-compose.yaml, указав путь к сертификатам. - Разрешение доменных имен: Убедитесь, что DNS-записи корректно настроены для вашего сервера.
- Правила доступа: Настройте политики доступа в интерфейсе ShellHub для управления правами пользователей.
- Логирование сессий: Включите логирование всех подключений для отслеживания активности.
- Обновление сертификатов: Регулярно обновляйте SSL-сертификаты, чтобы обеспечить безопасность соединения.
Заключение
ShellHub — это мощный инструмент для централизованного управления SSH-доступом к Linux-устройствам. Он позволяет управлять устройствами в локальной сети, облачных экземплярах и встраиваемых системах без необходимости настройки публичного IP или открытия портов.
