[PR #4873] [CLOSED] SSH: prefer using runuser instead of login #21469

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

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/4873
Author: @afonsofrancof
Created: 11/28/2025
Status: Closed

Base: mainHead: feature/debian-ssh


📝 Commits (1)

  • fb7a5eb fix(ssh-server): Prefer using runuser instead of login

📊 Changes

1 file changed (+23 additions, -13 deletions)

View changed files

📝 client/ssh/server/userswitching_unix.go (+23 -13)

📄 Description

Describe your changes

Some distros use util-linux's login binary, which doesn't work with NetBird's SSH.
Debian, for example, started using this binary recently in Debian 13, which broke NetBird's SSH.
runuser is the recommended utility for this use case and is now tried first on all Linux systems.
If runuser doesn't exist, it falls back to the standard login method.
I also removed the special handling for arch-linux, since it just uses runuser for that distro now.

#4869

Stack

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)

🔄 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/4873 **Author:** [@afonsofrancof](https://github.com/afonsofrancof) **Created:** 11/28/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feature/debian-ssh` --- ### 📝 Commits (1) - [`fb7a5eb`](https://github.com/netbirdio/netbird/commit/fb7a5eb2581f5e372fff0133ca13519a35b659b8) fix(ssh-server): Prefer using runuser instead of login ### 📊 Changes **1 file changed** (+23 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `client/ssh/server/userswitching_unix.go` (+23 -13) </details> ### 📄 Description ## Describe your changes Some distros use util-linux's `login` binary, which doesn't work with NetBird's SSH. Debian, for example, started using this binary recently in Debian 13, which broke NetBird's SSH. `runuser` is the recommended utility for this use case and is now tried first on all Linux systems. If `runuser` doesn't exist, it falls back to the standard login method. I also removed the special handling for arch-linux, since it just uses `runuser` for that distro now. ## Issue ticket number and link #4869 ## Stack <!-- branch-stack --> ### Checklist - [x] 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) --- <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 05:08:33 -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#21469