New customer-facing how-to page for the SSH-key-for-SFTP feature (WHP release 2026.09.11, live fleet-wide): Manage SFTP SSH keys at /whp/how-to/manage-sftp-ssh-keys/.
Walked the live page as the demo customer account (demo-user on whp01) and captured real, redacted screenshots via the repo Playwright pipeline (new tools/screenshots/capture-sftp.ts): empty state, filled Add Key form, and the populated key list after adding a throwaway ed25519 key (removed again afterward — the demo account is left as found).
Covers: generating/finding a key, adding it (with the caution about never pasting a private key), the supported key types (ed25519 recommended, ecdsa-sha2-nistp* x3, ssh-rsa, and the two sk-* FIDO/hardware-key types), connecting over SFTP with the key, removing a key (no last-key lockout — password SFTP keeps working), and a short note for root/support on reaching the same page for a customer via User Management's per-row SFTP Keys link.
Live walkthrough surfaced one non-obvious, source-verified detail worth flagging: the table's Comment column shows the SSH key's own comment (the -C value from ssh-keygen), not the separate Note field — the Note only lands in the audit log. The page calls this out so multi-key accounts can actually tell keys apart.
Cross-linked from Create a site (the existing page that already covers the SFTP file layout) in both directions, since there was no pre-existing dedicated SFTP-connection page to link into instead.
sidebar.order: 8, appended after the existing how-to pages (1-7); no renumbering needed.
Test plan
npm run build clean (43 pages, no broken links)
Every changed/added PNG eyeballed for leakage (no hostname, IP, or other customer data — server info in the navbar is hidden by the existing .navbar-text/.brand-full redaction)
Feature verified live end-to-end: added a real key via the panel, confirmed it authorized (fingerprint returned, appears in table), removed it via the panel's own Remove flow
Cross-checked panel behavior against the live PHP source on whp01 (pages/sftp-keys.php, pages/user-management.php, libs/whp_authorized_keys.php) for exact wording and the full key-type allowlist
## Summary
New customer-facing how-to page for the SSH-key-for-SFTP feature (WHP release 2026.09.11, live fleet-wide): **Manage SFTP SSH keys** at `/whp/how-to/manage-sftp-ssh-keys/`.
- Walked the live page as the demo customer account (`demo-user` on whp01) and captured real, redacted screenshots via the repo Playwright pipeline (new `tools/screenshots/capture-sftp.ts`): empty state, filled Add Key form, and the populated key list after adding a throwaway ed25519 key (removed again afterward — the demo account is left as found).
- Covers: generating/finding a key, adding it (with the caution about never pasting a private key), the supported key types (ed25519 recommended, ecdsa-sha2-nistp* x3, ssh-rsa, and the two sk-* FIDO/hardware-key types), connecting over SFTP with the key, removing a key (no last-key lockout — password SFTP keeps working), and a short note for root/support on reaching the same page for a customer via User Management's per-row **SFTP Keys** link.
- Live walkthrough surfaced one non-obvious, source-verified detail worth flagging: the table's **Comment** column shows the SSH key's own comment (the `-C` value from `ssh-keygen`), not the separate **Note** field — the Note only lands in the audit log. The page calls this out so multi-key accounts can actually tell keys apart.
- Cross-linked from **Create a site** (the existing page that already covers the SFTP file layout) in both directions, since there was no pre-existing dedicated SFTP-connection page to link into instead.
- `sidebar.order: 8`, appended after the existing how-to pages (1-7); no renumbering needed.
## Test plan
- [x] `npm run build` clean (43 pages, no broken links)
- [x] Every changed/added PNG eyeballed for leakage (no hostname, IP, or other customer data — server info in the navbar is hidden by the existing `.navbar-text`/`.brand-full` redaction)
- [x] Feature verified live end-to-end: added a real key via the panel, confirmed it authorized (fingerprint returned, appears in table), removed it via the panel's own Remove flow
- [x] Cross-checked panel behavior against the live PHP source on whp01 (`pages/sftp-keys.php`, `pages/user-management.php`, `libs/whp_authorized_keys.php`) for exact wording and the full key-type allowlist
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Documents the customer-facing SFTP SSH Keys page shipped in WHP 2026.09.11
(sidebar: Security → SFTP SSH Keys) — adding/removing SSH public keys that
authorize SFTP login alongside the account password, useful for teams
sharing one hosting account without sharing a password. Walked the live
page as the demo customer account and captured real redacted screenshots
(empty state, filled Add Key form, populated key list). Also documents a
non-obvious live-verified detail: the visible Comment column reflects the
key's own comment (ssh-keygen -C), not the separate Note field, which only
goes to the audit log. Cross-linked from Create a site.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jknapp
merged commit 9f8d05eec8 into main2026-09-04 16:52:39 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
New customer-facing how-to page for the SSH-key-for-SFTP feature (WHP release 2026.09.11, live fleet-wide): Manage SFTP SSH keys at
/whp/how-to/manage-sftp-ssh-keys/.demo-useron whp01) and captured real, redacted screenshots via the repo Playwright pipeline (newtools/screenshots/capture-sftp.ts): empty state, filled Add Key form, and the populated key list after adding a throwaway ed25519 key (removed again afterward — the demo account is left as found).-Cvalue fromssh-keygen), not the separate Note field — the Note only lands in the audit log. The page calls this out so multi-key accounts can actually tell keys apart.sidebar.order: 8, appended after the existing how-to pages (1-7); no renumbering needed.Test plan
npm run buildclean (43 pages, no broken links).navbar-text/.brand-fullredaction)pages/sftp-keys.php,pages/user-management.php,libs/whp_authorized_keys.php) for exact wording and the full key-type allowlist🤖 Generated with Claude Code