SSH Access Manager https://ssham.pacoorozco.info
  • PHP 68.5%
  • Blade 29.9%
  • Shell 1.3%
  • CSS 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
pakus 2b49a2b675
All checks were successful
Publish Docs pages / deploy (push) Successful in 24s
PHPstan / phpstan (push) Successful in 1m29s
Release version / Release version (push) Successful in 35s
Tests / PHP Tests (push) Successful in 3m35s
feat: release v4.1.0 (#578)
Reviewed-on: #578
2026-08-06 13:39:48 +02:00
.forgejo refactor: replace hugo-geekdoc submodule with tarball download script (#570) 2026-08-03 10:38:32 +02:00
app feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
bootstrap refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
config feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
database refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
docker/ssh Remove SFTP chrooted configuration 2024-01-22 16:10:45 +01:00
docs feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
lang refactor: replace github by codeberg (#558) 2026-07-26 11:52:07 +02:00
public refactor: migrate to AdminLTE 4 + BS5 (#576) 2026-08-05 14:53:19 +02:00
resources feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
routes refactor: implement missing components to remove laravel/ui (#574) 2026-08-04 11:25:50 +02:00
storage Update to Laravel 8.x and dependencies 2021-01-30 09:49:30 +01:00
tests refactor: migrate to AdminLTE 4 + BS5 (#576) 2026-08-05 14:53:19 +02:00
utils refactor: replace hugo-geekdoc submodule with tarball download script (#570) 2026-08-03 10:38:32 +02:00
.editorconfig refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
.env.example refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
.env.testing fix-testing (#573) 2026-08-04 09:23:21 +02:00
.gitattributes refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
.gitignore fix-testing (#573) 2026-08-04 09:23:21 +02:00
artisan refactor: migrate to Laravel 12 (#563) 2026-07-30 12:22:51 +02:00
CHANGELOG.md feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-01-17 14:16:59 +01:00
compose.yaml chore: fix local development env (#565) 2026-07-30 16:38:43 +02:00
composer.json refactor: implement missing components to remove laravel/ui (#574) 2026-08-04 11:25:50 +02:00
composer.lock refactor: implement missing components to remove laravel/ui (#574) 2026-08-04 11:25:50 +02:00
CONTRIBUTING.md feat: release v4.1.0 (#578) 2026-08-06 13:39:48 +02:00
LICENSE Change licensing (#9) 2017-07-29 16:18:00 +02:00
package.json build: update vite version (#577) 2026-08-05 15:12:12 +02:00
phpstan.neon refactor: fix phpstan errors after enabling 'checkGenericClassInNonGenericObjectType' option 2025-10-30 14:50:56 +01:00
phpunit.xml optimize-actions (#567) 2026-08-03 08:49:19 +02:00
pint.json build: force linter fail if code is not formatted 2025-10-30 15:20:40 +01:00
README.md Release version 4.0.0 (#568) 2026-08-03 09:21:04 +02:00
server.php Apply fixes from StyleCI (#354) 2022-10-26 17:41:50 +02:00
vite.config.js refactor: migrate to AdminLTE 4 + BS5 (#576) 2026-08-05 14:53:19 +02:00

SSH Access Manager

Build Status License Laravel Version Latest release

Overview

SSH Access Manager is a web application for centrally managing and deploying SSH public keys across your infrastructure. It is designed for teams and organizations where access to Unix accounts is controlled with SSH keys.

Instead of manually editing authorized_keys files on every server, SSH Access Manager lets you:

  • Organize your SSH keys into key groups
  • Organize your servers into host groups
  • Define access rules that map key groups to host groups
  • Deploy everything automatically with a single command or scheduled job

Changes propagate via SFTP, so no agent is required on target hosts.

Features

  • Centralized key management — create, import, and enable/disable SSH keys from one place
  • Group-based access control — organize keys and hosts into groups, then wire them together with rules
  • Automated deployment — push updated authorized_keys to all hosts on demand or on a schedule
  • Mixed mode — optionally preserve non-SSHAM keys already present on hosts
  • Audit log — every change is recorded with who did it and when
  • REST API — manage hosts and host groups programmatically using Personal Access Tokens
  • Role-based permissions — Auditor, Operator, Admin, and Super Admin roles out of the box

Documentation

Full documentation is available at ssham.pacoorozco.info.

Changelog

See CHANGELOG for a full history of changes between releases.

Reporting issues

Found a bug or have a feature request? Use the issue tracker.

Contributing

Please see CONTRIBUTING for details.

License

SSH Access Manager is free software released under the GNU General Public License v3.0.

Authors

Originally created by Paco Orozco (paco at pacoorozco.info). This project has been evolving since its early days on Sourceforge.