An SSH server that transparently bridges SSH sessions to Docker containers via docker exec, enabling secure container access.
Docker-SSH is an SSH server that enables secure shell access to Docker containers without installing SSH inside the container. It runs as a separate container, mounts the Docker socket, and transparently bridges SSH sessions to `docker exec`, allowing users to interact with containers as if they were directly SSH'd into them. It solves the problem of accessing containers that follow the single-process principle and lack an SSH server.
DevOps engineers, system administrators, and developers who need secure, ad-hoc shell access to Docker containers for debugging, maintenance, or automation tasks in development, staging, or production environments.
Developers choose Docker-SSH because it provides secure, on-demand SSH access to containers without modifying container images or violating Docker best practices. Its unique approach of external SSH bridging, combined with a web terminal and flexible authentication, offers a lightweight, composable alternative to running SSH servers inside containers.
SSH Server for Docker containers ~ Because every container should be accessible
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transparently bridges SSH sessions to docker exec, adhering to the single-process container principle without installing SSH inside target containers, as emphasized in the README's philosophy.
Includes a browser-based terminal on port 8022 and a full HTTP API for programmatic session management, enabling flexible access methods for debugging and automation.
Supports multiple mechanisms like noAuth, simpleAuth, multiUser, and public key, allowing tailored security setups based on environment needs, detailed in the User Authentication section.
Uses Docker filters to accurately target specific running containers, ensuring SSH access is directed correctly without manual container identification.
Requires mounting the Docker socket, which grants extensive control over the host and containers, posing a significant security threat if misconfigured or attacked; the README discourages using noAuth in production.
Lacks support for SCP and SFTP, which are marked as todo in the features list, limiting utility for file operations and requiring workarounds for common SSH tasks.
Currently only supports access to one container at a time, with 'Access multiple containers' listed as a planned feature, reducing scalability for multi-container environments.