[PR #4962] [MERGED] [client] Feature/ssh fine grained access client #26720

Open
opened 2026-08-05 07:07:43 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/4962
Author: @pappz
Created: 12/17/2025
Status: Merged
Merged: 12/18/2025
Merged by: @pappz

Base: feature/ssh-fine-grained-accessHead: feature/ssh-fine-grained-access-client


📝 Commits (6)

  • a51027c add authorized users proto
  • 08bc59e Add user hash type
  • f84f358 Add client implementation
  • ff869fa Add allowed user for tests
  • 5607386 Add tests for SSH authorizer validation and user authorization logic
  • 457ef0e Add mutex for thread-safe SSH authorizer operations

📊 Changes

10 files changed (+1514 additions, -424 deletions)

View changed files

📝 client/internal/engine.go (+2 -0)
📝 client/internal/engine_ssh.go (+35 -0)
client/ssh/auth/auth.go (+168 -0)
client/ssh/auth/auth_test.go (+406 -0)
📝 client/ssh/server/jwt_test.go (+18 -0)
📝 client/ssh/server/server.go (+44 -7)
📝 shared/management/proto/management.pb.go (+591 -417)
📝 shared/management/proto/management.proto (+18 -0)
shared/sshauth/userhash.go (+24 -0)
shared/sshauth/userhash_test.go (+208 -0)

📄 Description

Describe your changes

Stack

  • feature/ssh-fine-grained-access - ⚠️ No PR associated with branch

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/__


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/4962 **Author:** [@pappz](https://github.com/pappz) **Created:** 12/17/2025 **Status:** ✅ Merged **Merged:** 12/18/2025 **Merged by:** [@pappz](https://github.com/pappz) **Base:** `feature/ssh-fine-grained-access` ← **Head:** `feature/ssh-fine-grained-access-client` --- ### 📝 Commits (6) - [`a51027c`](https://github.com/netbirdio/netbird/commit/a51027c454b29dc17daa85399b876c2fd46e044f) add authorized users proto - [`08bc59e`](https://github.com/netbirdio/netbird/commit/08bc59ee130daeecb6288a423007c63680379464) Add user hash type - [`f84f358`](https://github.com/netbirdio/netbird/commit/f84f3581ab8daa3f8080e29dd34d69f175b4132c) Add client implementation - [`ff869fa`](https://github.com/netbirdio/netbird/commit/ff869fa50950f7812ca647b9ff2e76353ec81b19) Add allowed user for tests - [`5607386`](https://github.com/netbirdio/netbird/commit/5607386576c6567bf4e09685c398cff668819340) Add tests for SSH authorizer validation and user authorization logic - [`457ef0e`](https://github.com/netbirdio/netbird/commit/457ef0eab7d9462a0f55efc2a5a12e44acafe3b9) Add mutex for thread-safe SSH authorizer operations ### 📊 Changes **10 files changed** (+1514 additions, -424 deletions) <details> <summary>View changed files</summary> 📝 `client/internal/engine.go` (+2 -0) 📝 `client/internal/engine_ssh.go` (+35 -0) ➕ `client/ssh/auth/auth.go` (+168 -0) ➕ `client/ssh/auth/auth_test.go` (+406 -0) 📝 `client/ssh/server/jwt_test.go` (+18 -0) 📝 `client/ssh/server/server.go` (+44 -7) 📝 `shared/management/proto/management.pb.go` (+591 -417) 📝 `shared/management/proto/management.proto` (+18 -0) ➕ `shared/sshauth/userhash.go` (+24 -0) ➕ `shared/sshauth/userhash_test.go` (+208 -0) </details> ### 📄 Description ## Describe your changes ## Issue ticket number and link ## Stack - `feature/ssh-fine-grained-access` - :warning: No PR associated with branch <!-- branch-stack --> - \#4962 :point\_left: ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change - [x] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) Paste the PR link from <https://github.com/netbirdio/docs> here: <https://github.com/netbirdio/docs/pull/>\_\_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 07:07:43 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#26720