# πŸ›‘οΈ SSH Tunnel - Secure Remote Access via SSH Tunnels

SSH Tunnel Logo

## πŸš€ **Quick Start** For a fast setup, run: ```sh docker run -d -e SSH_HOST=your-server -e SSH_USER=user \ -v ~/.ssh/id_rsa:/tmp/id_rsa:ro ripleybooya/ssh-tunnel ``` ## πŸ“Œ Why this image? This container was created to **securely expose remote services via SSH tunnels**. Instead of exposing databases or other services to the public internet, this container allows you to **create secure SSH tunnels** inside a Docker network. ### πŸ”₯ **Use Cases:** - Securely connect to **remote databases** (PostgreSQL, MySQL, MariaDB). - Access **internal services** (Redis, Elasticsearch, APIs) via SSH. - Securely tunnel any service **without exposing it publicly**. --- ## πŸš€ How to Use ### **1️⃣ Run with `docker run`** ```sh docker run -d --name ssh-tunnel \ -e SSH_HOST="your-server.com" \ -e SSH_USER="your-username" \ -e REMOTE_PORTS="127.0.0.1:5432 127.0.0.1:443" \ -e LOCAL_PORTS="15432 8443" \ -v /path/to/id_rsa:/tmp/id_rsa:ro \ --network=my_docker_network \ ripleybooya/ssh-tunnel ``` πŸ“Œ **Explanation:** - `SSH_HOST`: The remote server where SSH tunnels will be established. - `SSH_USER`: The SSH user on the remote server. - `REMOTE_PORTS`: Ports from the remote server (format: `127.0.0.1:PORT`). - `LOCAL_PORTS`: Ports inside the Docker network (mapped to `REMOTE_PORTS`). - `-v /path/to/id_rsa:/tmp/id_rsa:ro`: **Mounts your SSH key securely** (using `/tmp/id_rsa` for better permissions). --- ### **2️⃣ Using `docker-compose.yml`** For easier management, use **Docker Compose**: ```yaml version: '3.8' services: ssh-tunnel: image: ripleybooya/ssh-tunnel container_name: ssh-tunnel restart: always networks: - internal environment: SSH_HOST: "your-server.com" SSH_USER: "your-username" REMOTE_PORTS: "127.0.0.1:5432 127.0.0.1:443" LOCAL_PORTS: "15432 8443" volumes: - /path/to/id_rsa:/tmp/id_rsa:ro networks: internal: driver: bridge ``` --- ## πŸ“Œ **Why use this image?** βœ… **Secure**: No need to expose services publicly. βœ… **Simple**: Just set environment variables and run. βœ… **Multi-Arch**: Works on **x86_64 (Intel/AMD)** and **ARM64 (Oracle Cloud, Raspberry Pi, etc.)**. βœ… **Lightweight**: Uses **Alpine Linux** for minimal resource usage. --- ## πŸ“¦ Pull & Run ```sh docker pull ripleybooya/ssh-tunnel docker run --rm -it ripleybooya/ssh-tunnel sh -c "uname -m && echo 'Container is working'" ``` πŸš€ **Now your remote services are accessible through secure SSH tunnels!** --- ## πŸ”– Tags & Keywords This image can be used for: - πŸ›‘οΈ **SSH Tunneling** - πŸ”Œ **Networking & Proxy** - πŸ”’ **Security & Encryption** - πŸ—„οΈ **Database Access (PostgreSQL, MySQL, MariaDB, etc.)** - πŸ—οΈ **Remote Service Exposure in Docker** --- ## πŸ“œ Third-Party Licenses This project is based on: - [Alpine Linux](https://www.alpinelinux.org/) - MIT License - [OpenSSH](https://www.openssh.com/) - BSD License - [Docker](https://www.docker.com/) - Apache 2.0 License ## πŸ“œ License This project is licensed under the **MIT License**. You are free to use, modify, and distribute it. Read the full license [here](https://opensource.org/licenses/MIT). --- ## πŸ€– AI Assistance & Acknowledgment This project was built with the help of an **AI-powered assistant (LLM)** to improve structure, efficiency, and documentation clarity. ## πŸ—οΈ How to Build the Image If you want to build this image yourself, follow these steps: ### **1️⃣ Clone the Repository** ```sh git clone https://github.com/RipleyBooya/ssh-tunnel.git cd ssh-tunnel ``` ### **2️⃣ Build for Multi-Architecture (`amd64` & `arm64`)** ```sh docker buildx build --platform linux/amd64,linux/arm64 \ -t dockerhub_account/ssh-tunnel:latest \ --push . ``` ### **3️⃣ Verify the Image** ```sh docker buildx imagetools inspect dockerhub_account/ssh-tunnel:latest ``` ### **4️⃣ Test Locally** ```sh docker run --rm -it dockerhub_account/ssh-tunnel sh -c "uname -m && echo 'Container is running successfully'" ``` Now your image is built and ready for use! πŸš€ ## πŸ”— Project Links & Contributions This project is open-source and welcomes contributions! - πŸ›  **Source Code & Issues:** [GitHub Repository](https://github.com/RipleyBooya/ssh-tunnel) - 🐳 **Docker Hub Page:** [Docker Image](https://hub.docker.com/r/ripleybooya/ssh-tunnel) - πŸ‡«πŸ‡· **Version franΓ§aise (WikiJS):** [ltgs.wiki (FR)](https://ltgs.wiki/en/InfoTech/Virt/Docker/ssh-tunnel) - πŸ‡ΊπŸ‡Έ **English version (WikiJS):** [ltgs.wiki (EN)](https://ltgs.wiki/fr/InfoTech/Virt/Docker/ssh-tunnel) If you find any issues or have suggestions, feel free to open a GitHub issue or contribute! πŸš€