Ubuntu SSH over ngrok for Google Colab, Kaggle, and other Jupyter notebooks.
- ⚡ Quick install: SSH server with password or key login
- 🔐 Secure remote SSH via ngrok TCP tunnel (no static IP needed)
- 📂 Easy file sharing with miniserve HTTP server on port 80
- 🛠 Minimal dependencies, works in Debian-based environments
- 👤 Configurable username, password, SSH key, and ngrok token
- 📝 Shows ready-to-use SSH commands for instant access
- ⏳ Keeps runtime alive for long sessions (12 hours default)
-
Open the notebook in Google Colab:
-
Run each cell step by step:
- Step 0: 🛠️ Prepare the environment
- Step 1: 🔐 Setup SSH (set your username, password, or SSH key)
- Step 2: 📂 Start Miniserve (file sharing, upload/download)
- Step 3: 🚀 Start Ngrok (enter your Ngrok auth token, get tunnel links)
- Step 4: ⏳ Keep runtime alive (prevents Colab from stopping)
- Installs and starts SSH server with your user/password or SSH key
- Launches miniserve for easy file sharing on HTTP port 80
- Uses ngrok to create public tunnels for SSH (TCP) and miniserve (HTTP)
- Shows connection info and commands to connect instantly
- Keeps session running, perfect for Colab, Kaggle, or any VM
- Debian-based Jupyter notebooks: Google Colab, Kaggle, etc.
- ngrok account & auth token (free tier works)
- Google Colab may block SSH, ngrok, and miniserve sometimes (Check Google colab policies)
- Obfuscation can help bypass restrictions (not finished yet)
- Kaggle requires account verification to enable internet access.
- File: jupyter-essessjack-okphuzkatiz.ipynb
- Method: base64 encode
- Obfuscated:
- ngrok == n{lalaar}ok
- ssh == {eggeggs}h
- miniserve == mini{kenook}ve
- tunnel = tu{rnonoff}
- Only bypass source code restrictions in this time, runtime restrictions not
- Needfix: Still not bypass google colab restrictions
- Suggestion: Fork or patch ssh, ngrok, miniserve. Change port of sshd
- Bypass google colab restrictions
- Support Cloudflared and other tunnels
- Support terminal/SSH over web, especially on mobile
- Add more detailed documentation
- Open common ports by default
- Add port manager GUI
- Create a compact version for Kaggle (since Kaggle does not support the Colab-style UI form)
- ngrok signup: https://ngrok.com/signup
- miniserve project: https://github.com/svenstaro/miniserve
Apache 2.0 — free and open source.