Full-stack indie hacker building SQLitePilot in public and hoping these tools genuinely help other teams.
Dev Updates
Big Onboarding Update: No More Private Key Uploads
SQLitePilot now generates a unique SSH keypair per connection, so you only copy a public key to your server and never paste private keys into the app.
One piece of feedback kept showing up in calls and emails:
"I want to try the service, but I don't want to paste my personal private SSH key into a web form."
That is a completely reasonable reaction. So we changed the flow.
What changed
SQLitePilot no longer requires you to upload your private SSH key.
Now, when you create a new connection, SQLitePilot generates a unique Ed25519 SSH keypair for that connection.
- The private key stays on our backend, encrypted at rest.
- We show you the public key.
- You copy that public key into your server
~/.ssh/authorized_keysonce. - You click Test Connection and continue.
Why this is better
Easier setup
The old flow had too many steps and too much context switching.
Find local key files, pick the right one, copy the full block carefully, avoid formatting errors, then upload.
Now it is just connection details + one public key paste on the server.
Better security posture
The biggest win is trust.
You never hand over your personal workstation key to SQLitePilot. Instead, each connection gets its own generated keypair. That means cleaner separation and less blast radius if you rotate or revoke access.
Cleaner operations
Generated per-connection keys are easier to reason about.
- Remove a connection: its key goes away with it.
- Need to rotate access: regenerate by recreating the connection.
- No mystery key reuse across unrelated servers.
More control to you
Access stays in your hands.
If you no longer want SQLitePilot to access a server, you can revoke it immediately by removing the generated public key from ~/.ssh/authorized_keys on that server.
No ticket, no waiting, no hidden lock-in. You decide when access starts and when it stops.
New connection flow (30 seconds)
- Open Connections and click Add new connection.
- Enter host, username, and database path.
- Save connection.
- Copy the generated public key shown in SQLitePilot.
- Add it to your server
~/.ssh/authorized_keys. - Click Test Connection.
That is it. Try!
If you hit any rough edge in the new flow, send me details at [email protected].