Nokku LogoNokku
Nokku LogoNokku

Manual SSH Setup

Use Nokku certificates without installing nokkud on the target server.

Last updated on Aug 8, 2026

Manual mode is for servers where you cannot install nokkud, or where you want to integrate the core into your own provisioning system. It uses standard OpenSSH certificate configuration on the system sshd.

Unlike daemon-managed targets, which are served by nokkud’s embedded SSH server on port 4022, manual targets keep using the system sshd. The system sshd on port 22 is never touched by nokkud.

Requirements

  • Root access to the target server.
  • An SSH certificate authority public key from the workspace.
  • The Nokku user UUIDs that should be allowed to log in.
  • A manually created target with a reachable endpoint and a target ID.

Configure sshd

Copy the SSH CA public key to the target, for example:

sudo install -d -m 755 /etc/ssh/auth_principals
sudo tee /etc/ssh/nokku_ca.pub >/dev/null <<'EOF'
ssh-ed25519 AAAA...
EOF

Add a drop-in or equivalent settings to sshd_config:

TrustedUserCAKeys /etc/ssh/nokku_ca.pub
AuthorizedPrincipalsFile /etc/ssh/auth_principals/%u

The %u value is the requested Linux username.

Add authorized principals

Create one file per Linux username. Put one Nokku user UUID per line:

sudo tee /etc/ssh/auth_principals/ubuntu >/dev/null <<'EOF'
<USER-UUID>
EOF

The UUID is the principal embedded in the user’s SSH certificate. It is not the Linux username.

Validate and reload

sudo sshd -t
sudo systemctl reload sshd

Some distributions use the service name ssh instead:

sudo systemctl reload ssh

Limitations

Manual mode does not receive principal updates automatically. You can maintain AuthorizedPrincipalsFile yourself, or automate target synchronization and certificate handling with the core API.

Manual mode does not obtain host certificates automatically. You can configure normal SSH host verification, or use the signing endpoint to obtain a host certificate for the target.