WebSSH: безопасный веб-интерфейс для SSH и SFTP доступа
WebSSH — это самохозяйственный SSH и SFTP рабочий интерфейс, ориентированный на безопасность, для хомелабов и команд.
Проект позволяет организовать работу с терминалом и файлами в одном браузерном пространстве. Он предлагает многофункциональность: поддержка нескольких пользователей, управление через passkeys и OIDC, шифрование ключей, резервное копирование и возможность работы оффлайн. В отличие от традиционных SSH-клиентов, WebSSH не требует контроля через облако или CDN, что улучшает безопасность и независимость. Это решение может быть полезно для команд разработчиков или администраторов систем, которым важна гибкость и безопасность.
Проект написан на Python (версия 3.11 или новее) и можно запустить через контейнер Docker. Будь внимателен: WebSSH все еще находится в разработке и может содержать ошибки. Для использования тебе нужно будет настроить все в соответствии с документацией.
Проект WebSSH — это безопасная, самохостинговая среда для работы с SSH и SFTP, предназначенная для домашних сетей и команд. Она позволяет организовать рабочее пространство, где все: терминалы, файлы, команды и заметки, находятся в одном е участвующей браузерной среде.
WebSSH разрабатывается без зависимости от удаленных серверов или CDN, что обеспечивает больший контроль над данными. Он поддерживает многопользовательский режим и предоставляет возможность подключения через существующий SSH-центральный сервер при необходимости.
Основные особенности
- Поддержка нескольких SSH-сессий с вкладками и различными панелями отображения.
- Интеграция с tmux для создания устойчивых удаленных сеансов.
- Функционал SFTP и опциональный SMB для работы с файлами.
- Безопасность, включая многопользовательские аккаунты, шифрование ключей и аутентификацию по OIDC.
- Административные инструменты для управления пользователями и резервного копирования данных.
Установка и запуск
Установка WebSSH осуществляется с помощью Docker. Для начала тебе нужно создать каталог, скачать файл конфигурации и запустить контейнер:
mkdir webssh-deployment
cd webssh-deployment
curl -O https://raw.githubusercontent.com/bifrost0x/webssh/main/docker-compose.yml
docker compose up -d
После запуска открой http://localhost:5000 в браузере. На новом экземпляре необходимо сразу создать первого администратора из доверенной сети.
Ограничения и безопасность
WebSSH не является шифрованным реле и обрабатывает соединения и данные терминала, что подразумевает необходимую защиту хоста и сетевого окружения. Необходимо следить за безопасностью ключей и конфиденциальных данных. Убедись, что:
- вы используете HTTPS на доверенном уровне;
- производите контроль над доверенными SSH-ключами;
- включаете только однопоточный режим для Gunicorn для корректной работы сессий.
Рекомендуется ознакомиться с политикой безопасности проекта и руководствами по развертыванию, прежде чем делать его общедоступным.
Документация и поддержка
Для получения более подробной информации об установке, настройке и эксплуатации, можно воспользоваться [Wiki проекта](https://github.com/bifrost0x/webssh/wiki), где представлены руководства и идеи по разработке. Если у тебя появятся вопросы или обнаружатся проблемы, ты можешь создать issue или участвовать в обсуждениях на GitHub.
Открыть на GitHub: bifrost0x/webssh →
RepoRadar