← Blog

Getting k8shell Running in Minutes

Tomas VitvarTomas Vitvar·

The quickstart script installs the k8shell Helm chart with a minimal config: one admin user, one workspace namespace, SSH proxy on NodePort 30022.

Install

curl -sSfL https://get.k8shell.io | bash

The script prints a summary and asks for confirmation before touching your cluster. It generates an EC server key locally (saved to ~/k8shell-quickstart/), picks up your ~/.ssh public key, and runs helm install.

Note: The server key is generated locally — not inside the chart — so it stays stable across pod restarts and upgrades. If it changed on every reinstall, SSH clients would hit host key mismatch errors.

Your kubectl context needs create rights for Role and RoleBinding in k8shell-workspaces. A cluster-admin context satisfies this on a fresh cluster.

Verify

kubectl get pods -n k8shell-system

All pods should reach Running within a minute.

Connect

k8shell uses plain SSH with user~workspace as the username:

ssh -p 30022 -i ~/.ssh/id_ed25519 admin~ubuntu@<node-ip>

No NodePort? Use port-forwarding:

kubectl port-forward svc/ssh-proxy 2222:22 -n k8shell-system
ssh -p 2222 -i ~/.ssh/id_ed25519 admin~ubuntu@127.0.0.1

From here: expose the proxy via LoadBalancer or ingress, add users, define blueprints. See the full quickstart docs for details.