PHPackages                             zpm-packages/server-access-filament - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. zpm-packages/server-access-filament

ActiveLibrary[Admin Panels](/categories/admin)

zpm-packages/server-access-filament
===================================

Filament plugin that exposes server access management resources, pages, and actions for zpm-packages/server-access-laravel.

v1.0.0(1mo ago)084↓50%1MITPHPPHP ^8.3

Since May 6Pushed 1mo agoCompare

[ Source](https://github.com/zpm-packages/server-access-filament)[ Packagist](https://packagist.org/packages/zpm-packages/server-access-filament)[ RSS](/packages/zpm-packages-server-access-filament/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

[![server access](https://private-user-images.githubusercontent.com/100382372/588042272-45329568-10b9-4d77-8fd4-30a395e42c4c.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxMjkxNDAsIm5iZiI6MTc4MDEyODg0MCwicGF0aCI6Ii8xMDAzODIzNzIvNTg4MDQyMjcyLTQ1MzI5NTY4LTEwYjktNGQ3Ny04ZmQ0LTMwYTM5NWU0MmM0Yy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNTMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDUzMFQwODE0MDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NDBmMjNmZTQ0NGE4NDAxMThiOTZiM2ZhMDdhNjMyYTQxZTc5YmUxNjgzZGE1MzA4Zjg5MTlhY2I3NTNkMWQ4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.SLcBZVszwCfLwA5W8t1or0G3e_Q-l-GbfTonP1RlJSQ)](https://private-user-images.githubusercontent.com/100382372/588042272-45329568-10b9-4d77-8fd4-30a395e42c4c.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAxMjkxNDAsIm5iZiI6MTc4MDEyODg0MCwicGF0aCI6Ii8xMDAzODIzNzIvNTg4MDQyMjcyLTQ1MzI5NTY4LTEwYjktNGQ3Ny04ZmQ0LTMwYTM5NWU0MmM0Yy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNTMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDUzMFQwODE0MDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NDBmMjNmZTQ0NGE4NDAxMThiOTZiM2ZhMDdhNjMyYTQxZTc5YmUxNjgzZGE1MzA4Zjg5MTlhY2I3NTNkMWQ4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.SLcBZVszwCfLwA5W8t1or0G3e_Q-l-GbfTonP1RlJSQ)ZPMPackages Server Access Filament
==================================

[](#zpmpackages-server-access-filament)

Filament admin resources and page actions for the Laravel server-access stack. This package plugs into a Filament panel and exposes server, user, and SSH key management on top of `zpm-packages/server-access-laravel`.

What This Package Adds
----------------------

[](#what-this-package-adds)

- `SshServerResource` for server records and current-system manager verification.
- Nested `SshUserResource` for server-scoped SSH users.
- `SshEntryResource` and user-level key relation management.
- Header actions for acting as a user, updating OS passwords, editing `authorized_keys`, editing `~/.ssh/config`, and confirming root-user deletion.
- Current-system scan actions for pulling OS users into the panel workflow.

Installation
------------

[](#installation)

```
composer require zpm-packages/server-access-filament
```

This package expects `zpm-packages/server-access-laravel` to be installed and configured first.

Register The Plugin
-------------------

[](#register-the-plugin)

```
use Filament\Panel;
use ZPMPackages\FilamentSshManagement\FilamentSshManagementPlugin;

public function panel(Panel $panel): Panel
{
	return $panel
		->plugin(FilamentSshManagementPlugin::make());
}
```

Host App Requirements
---------------------

[](#host-app-requirements)

The current resources are intentionally thin and reuse the host application's SSH wrappers. Your app must provide these classes:

- `App\Models\SshServer`
- `App\Models\SshUser`
- `App\Models\SshEntry`
- `App\Support\Ssh\SshManagerResolver`
- `App\Support\Ssh\SshDirectDataService`
- `App\Support\Ssh\SshSystemUserService`
- `App\Support\Ssh\SshUserManagerService`
- `App\Support\Ssh\SshActorAuthorizer`
- `App\Support\Ssh\DatabaseSshRepository`

If your app uses different namespaces or model names, adapt the package resources or provide compatible wrappers before enabling the plugin.

Registered Resources
--------------------

[](#registered-resources)

The plugin registers three resources on the active panel:

```
SshServerResource::class,
SshUserResource::class,
SshEntryResource::class,
```

Server Resource Usage
---------------------

[](#server-resource-usage)

`SshServerResource` is the entrypoint for server records.

### What You Can Do

[](#what-you-can-do)

- List configured server records.
- Create and edit servers when database sync is enabled.
- Open nested user management from the server table.
- Change the verified manager user for the current system.
- Delete server records.

### Current-System Manager Verification

[](#current-system-manager-verification)

The edit page exposes a `Change Manager User` action for current-system servers. It verifies the selected OS user password before switching the configured manager.

User Resource Usage
-------------------

[](#user-resource-usage)

`SshUserResource` is nested under a server.

### Users List Page

[](#users-list-page)

The list page supports:

- Scanning system users.
- Creating a new user.
- Auto-importing current-system users into the database-backed repository on mount.
- Direct-mode record actions when database sync is disabled.

### Create User Flow

[](#create-user-flow)

The create page supports:

- username, name, home directory, groups, comment, and root flag
- `can_read_entries`, `can_write_entries`, and `can_manage_entries`
- managed directories
- optional create-time password
- create-time SSH key passphrase forwarding when a managed key is generated

### Edit User Header Actions

[](#edit-user-header-actions)

The edit page currently provides:

- `Act As`
- `Authorized Keys`
- `SSH Config`
- `Update Password`
- `Delete`

The delete action requires password confirmation when the target user is root-equivalent.

Key Management Usage
--------------------

[](#key-management-usage)

Keys are managed from the user relation manager and the standalone key resource.

### Supported Flows

[](#supported-flows)

- Create a manual key row.
- Generate a managed key pair.
- Set custom private and public key paths under the target `.ssh` directory.
- Edit an existing key.
- Delete a key.

### Related UI Behaviors

[](#related-ui-behaviors)

- Private/public path inputs stay constrained to the user `.ssh` directory.
- Public path can auto-fill from the chosen private path.
- Managed key generation failures show notifications instead of raw exceptions.

Example Panel Registration
--------------------------

[](#example-panel-registration)

```
use App\Providers\Filament\AdminPanelProvider;
use Filament\Panel;
use ZPMPackages\FilamentSshManagement\FilamentSshManagementPlugin;

class AdminPanelProvider extends PanelProvider
{
	public function panel(Panel $panel): Panel
	{
		return $panel
			->default()
			->id('admin')
			->path('admin')
			->plugin(FilamentSshManagementPlugin::make());
	}
}
```

Example App Service Wrappers
----------------------------

[](#example-app-service-wrappers)

The plugin expects the host app wrappers to adapt package services to app models. A typical wrapper extends the Laravel package service:

```
namespace App\Support\Ssh;

class SshManagerResolver extends \ZPMPackages\LaravelSshManagement\Services\SshManagerResolver
{
}
```

Testing
-------

[](#testing)

The package includes a lightweight standalone plugin test that verifies:

- the plugin id
- resource registration on a panel
- plugin resolution through the container

Run it from the package directory:

```
vendor/bin/phpunit tests/FilamentSshManagementPluginTest.php
```

Notes
-----

[](#notes)

- This package is currently app-coupled by design; it is a reusable plugin package, but not a zero-configuration drop-in for arbitrary Laravel apps.
- The panel resources rely on the host app for authorization messaging and OS/file management wrappers.
- If you want a fully standalone Filament package, the next step is extracting the remaining `App\...` dependencies behind interfaces or plugin configuration.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance93

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

35d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/211412089?v=4)[ZPM Labs](/maintainers/zpmlabs)[@ZPMLabs](https://github.com/ZPMLabs)

---

Top Contributors

[![sasaorasanin](https://avatars.githubusercontent.com/u/100382372?v=4)](https://github.com/sasaorasanin "sasaorasanin (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/zpm-packages-server-access-filament/health.svg)

```
[![Health](https://phpackages.com/badges/zpm-packages-server-access-filament/health.svg)](https://phpackages.com/packages/zpm-packages-server-access-filament)
```

###  Alternatives

[filament/spatie-laravel-settings-plugin

Filament support for `spatie/laravel-settings`.

1122.7M93](/packages/filament-spatie-laravel-settings-plugin)[awcodes/filament-quick-create

Plugin for Filament Admin that adds a dropdown menu to the header to quickly create new items.

249203.6k11](/packages/awcodes-filament-quick-create)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

207140.2k1](/packages/guava-filament-knowledge-base)[mradder/filament-logger

Audit logging, activity tracking, exports, alerts, and dashboards for Filament admin panels.

2210.5k](/packages/mradder-filament-logger)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[caresome/filament-neobrutalism-theme

A neobrutalism theme for FilamentPHP admin panels

324.9k1](/packages/caresome-filament-neobrutalism-theme)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
