Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jossephus/chuchu/llms.txt

Use this file to discover all available pages before exploring further.

Chuchu lets you generate, store, and use SSH keys entirely on your Android device. Both Ed25519 and RSA key types are supported. Keys are stored in a local Room database — the private key never leaves Chuchu in plaintext form.
Keys are generated and stored entirely on your device. The private key never leaves Chuchu.

Key generation

Ed25519 is the recommended key type for new keys. The algorithm is fast, produces compact keys, and is considered more secure than older RSA key sizes.Chuchu generates Ed25519 keys entirely in native Zig code using the standard library’s Ed25519.KeyPair.generate() function. The output is a private key in the standard OpenSSH private key format (the openssh-key-v1 container format used by ssh-keygen), and a public key in the standard ssh-ed25519 <base64> <comment> format.Optional passphrase encryption: If you set a passphrase when generating the key, the private section of the key is encrypted with bcrypt key derivation (16 rounds) and AES-256-CTR. This matches the same encryption scheme that OpenSSH uses, so the key can be used with any standard SSH client or server that supports OpenSSH format keys.

Generate a new key

SSH keys are generated directly from the Add Server form. Open the form, set the authentication method to ssh key, and use the inline key generator.
1

Open the Add Server form

On the server list screen, tap + add server to open the connection form.
2

Select SSH key authentication

In the AUTHENTICATION section, tap ssh key. If you have no keys yet, Chuchu shows a prompt and a generate key button.
3

Tap generate key

Tap generate key. Chuchu generates an Ed25519 key pair on-device and names it after the server you are adding. The key is saved immediately to the local database.
4

Copy the public key

Tap copy public key to copy the public key to your clipboard. Add this to ~/.ssh/authorized_keys on the remote server.
5

Optionally protect the key with a passphrase

Toggle set passphrase to enable passphrase protection. Enter your passphrase — this encrypts the private key with bcrypt + AES-256-CTR before storing it.
6

Save the server

Fill in the remaining connection details and tap save. Your key is now linked to this server profile.

Add your public key to a server

After generating a key, copy the public key line (it starts with ssh-ed25519 or ssh-rsa) and append it to the ~/.ssh/authorized_keys file on your server:
echo "ssh-ed25519 AAAA... yourname@chuchu" >> ~/.ssh/authorized_keys
Make sure the file has the correct permissions:
chmod 600 ~/.ssh/authorized_keys

Assign a key to a connection

1

Open or edit a server

On the server list screen, tap + add server to add a new server, or tap edit on an existing server card.
2

Set authentication to SSH key

In the AUTHENTICATION section, tap ssh key. If you already have saved keys, the most recently generated key will be shown. Tap new key to generate a different one, or use the existing selection.
3

Connect

Save the server and tap connect. Chuchu uses the linked key to authenticate with the server.

Passphrase-protected keys

When adding or editing a server with SSH key authentication, toggle set passphrase in the form to enable passphrase protection. With passphrase protection enabled (AuthMethod.KeyWithPassphrase), Chuchu prompts you to enter the passphrase in a dialog each time you tap to connect — the decrypted key material is never persisted to storage.

Build docs developers (and LLMs) love