From 93ef8561d62698063ec45f76aa97745d360a38ae Mon Sep 17 00:00:00 2001 From: scriptos Date: Tue, 21 Apr 2026 12:54:49 +0200 Subject: [PATCH] update LICENSE & Readme.md --- LICENSE | 12 ++++++-- README.md | 90 ++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 69 insertions(+), 33 deletions(-) diff --git a/LICENSE b/LICENSE index fcbdebd..9e3ec56 100644 --- a/LICENSE +++ b/LICENSE @@ -1,8 +1,16 @@ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 -Copyright (C) 2026 Patrick Asmus (scriptos) -https://git.techniverse.net/scriptos/keywarden +--- + +Copyright ยฉ + +Name: Patrick Asmus (scriptos) +Email: support@techniverse.net +Website: https://www.patrick-asmus.de +Blog: https://www.cleveradmin.de + +--- Keywarden - Centralized SSH Key Management and Deployment diff --git a/README.md b/README.md index 3d83236..8a760a9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,31 @@ -# Keywarden +

+ + Techniverse Community + +

+ +

Keywarden

+ +

+ Self-hosted SSH key management and deployment for teams. +

+ +
+ ๐Ÿฐ Website + ยท + ๐Ÿ“ฐ Community + ยท + ๐Ÿ˜ Mastodon + ยท + ๐Ÿ’ฌ Support +
+

**Keywarden** is a self-hosted web application for centralized SSH key management and deployment. It lets you generate, store, and deploy SSH keys to Linux servers from a single web interface โ€” with full audit logging, role-based access control, and automated temporary access scheduling. - ![Keywarden Dashboard](assets/img/dashboard.png) - -## โš ๏ธ Alpha Software โ€” Important Notice +## โš ๏ธ Alpha Software > **Keywarden is currently in alpha status.** > @@ -16,32 +35,30 @@ --- -## Features +## โœจ Features -- **SSH Key Management** โ€” Generate (RSA 2048/4096, Ed25519, Ed448) or import existing keys -- **Encrypted Storage** โ€” Private keys encrypted at rest with AES-256-GCM -- **Server & Group Management** โ€” Register servers, organize into groups -- **Access Assignments** โ€” Declarative access model: assign users + keys to servers with system user, sudo, and user creation -- **Temporary Access** โ€” Schedule time-limited access with automatic expiry (key removal, user disable, or user deletion) -- **Three-Tier Roles** โ€” Owner, Admin, and User with distinct permissions -- **User Invitations** โ€” Invite users via secure email links -- **Key Enforcement** โ€” Bastillion-style enforced key management: automatically detect and remove unauthorized SSH keys from servers -- **Two-Factor Authentication** โ€” TOTP-based MFA, optionally enforced for all users -- **Password Policies & Account Lockout** โ€” Configurable complexity rules and brute-force protection -- **Audit Log** โ€” Every action tracked with user, IP, timestamp, and details -- **Update Notifications** โ€” Automatic update check with version badge in the header for admins -- **Encrypted Backup/Restore** โ€” Full database export with password-based encryption -- **Docker-Native** โ€” Single container with embedded SQLite, no external database required +| Area | What Keywarden provides | +|---|---| +| **SSH keys** | Generate RSA 2048/4096, Ed25519, and Ed448 keys or import existing keys. | +| **Secure storage** | Store private keys encrypted at rest with AES-256-GCM. | +| **Servers & groups** | Register Linux servers and organize them into manageable groups. | +| **Access assignments** | Assign users and keys to servers with system user, sudo, and user creation options. | +| **Temporary access** | Schedule time-limited access with automatic expiry actions. | +| **Roles & invitations** | Manage Owner, Admin, and User roles and invite users with secure email links. | +| **Enforcement** | Detect and remove unauthorized SSH keys from managed servers. | +| **Authentication** | Protect accounts with TOTP-based MFA, password policies, and account lockout. | +| **Audit & updates** | Track every action and notify admins about available updates. | +| **Backup & Docker** | Export encrypted database backups and run with a single Docker container and embedded SQLite. | --- -## Quick Start +## ๐Ÿš€ Quick Start -### Prerequisites +### โœ… Prerequisites - [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) -### 1. Clone and configure +### ๐Ÿ“ฆ 1. Clone and Configure ```bash git clone https://git.techniverse.net/scriptos/keywarden.git @@ -62,13 +79,13 @@ KEYWARDEN_ENCRYPTION_KEY= > **Important:** Change both keys to unique random strings. The encryption key protects all stored SSH private keys โ€” if lost, they cannot be recovered. See the [Quick Start Guide](docs/quickstart.md) for more options to generate secure keys. -### 2. Start +### โ–ถ๏ธ 2. Start Keywarden ```bash docker compose up -d ``` -### 3. Get the initial password +### ๐Ÿ”‘ 3. Get the Initial Password ```bash docker compose logs keywarden @@ -85,11 +102,11 @@ Look for the auto-generated admin password in the output: โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ``` -### 4. Open +### ๐ŸŒ 4. Open the Web UI Navigate to `http://your-host:8080` and log in. You will be prompted to change the password. -### 5. Deploy the master key +### ๐Ÿ›ก๏ธ 5. Deploy the Master Key After login, copy the **system master key** (shown in Admin Settings and in the startup logs) and add it to the `authorized_keys` of the root user on every server you want to manage: @@ -99,7 +116,7 @@ echo "ssh-ed25519 AAAA... keywarden-system-master" >> /root/.ssh/authorized_keys --- -## Documentation +## ๐Ÿ“š Documentation For detailed documentation, see the [docs/](docs/README.md) folder: @@ -118,7 +135,7 @@ For detailed documentation, see the [docs/](docs/README.md) folder: --- -## License +## โš–๏ธ License Keywarden is licensed under the [GNU Affero General Public License v3.0 (AGPL-3.0-or-later)](LICENSE). @@ -126,7 +143,7 @@ Keywarden is licensed under the [GNU Affero General Public License v3.0 (AGPL-3. --- -## Community +## ๐Ÿ’ฌ Community Join the **Keywarden Matrix chat** to discuss the project, ask questions, or share feedback: @@ -136,7 +153,7 @@ Join the **Keywarden Matrix chat** to discuss the project, ask questions, or sha --- -## Repository & Mirror +## ๐Ÿงญ Repository & Mirror | | URL | |---|---| @@ -146,4 +163,15 @@ Join the **Keywarden Matrix chat** to discuss the project, ask questions, or sha The **primary repository** is hosted on Gitea. The GitHub repository is a read-only mirror. -**Bug reports & feature requests:** Please open an [Issue on GitHub](https://github.com/pscriptos/keywarden/issues) โ€” registration on the Gitea instance is currently closed. \ No newline at end of file +**Bug reports & feature requests:** Please open an [Issue on GitHub](https://github.com/pscriptos/keywarden/issues) โ€” registration on the Gitea instance is currently closed. + +

+

+ +

+ +

+ + ยฉ Patrick Asmus ยท Techniverse Network ยท Lizenz + +