[GH-ISSUE #2816] NetBird SSH Server Access Requiring Machine Reboot #6129

Open
opened 2026-08-05 01:06:50 -04:00 by saavagebueno · 19 comments
Owner

Originally created by @AV3T on GitHub (Oct 30, 2024).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/2816

Hi, I have recently encountered issues with the NetBird's built-in SSH server.

Previously I could do:

  1. netbird up --allow-server-ssh -k <key>.
  2. Once the peer shows up in dashboard, then enable the SSH access on it.
  3. Last step would be sudo netbird ssh <target> which would grant SSH access to the peer as the root user.

However, at the moment, for the SSH server to work, the peer requires a reboot, or issuing netbird down followed by netbird up --allow-server-ssh, while the SSH Access is enabled within NetBird's dashboard.

Same issue regarding disabling of the SSH access. The peer needs to be rebooted for the dashboard SSH access change to take place.

I tried disabling the SSH server access while the peer is powered off, and then enabling it once the peer is powered on via the NetBird's dashboard, however, I have faced issues connecting to it. It almost seems like the netbird service on the peer now requires a restart for the dashboard SSH access changes to take place, which was not the case before.

This defeats the purpose of the SSH server as if deployed remotely, the peer can't be accessed, and the peer requires remote access to fix the issue.

Please let me know if I can provide any additional details. Thank you,

Originally created by @AV3T on GitHub (Oct 30, 2024). Original GitHub issue: https://github.com/netbirdio/netbird/issues/2816 Hi, I have recently encountered issues with the NetBird's built-in SSH server. Previously I could do: 1. `netbird up --allow-server-ssh -k <key>`. 2. Once the peer shows up in dashboard, then enable the SSH access on it. 3. Last step would be `sudo netbird ssh <target>` which would grant SSH access to the peer as the root user. However, at the moment, for the SSH server to work, the peer requires a reboot, or issuing `netbird down` followed by `netbird up --allow-server-ssh`, while the SSH Access is enabled within NetBird's dashboard. Same issue regarding disabling of the SSH access. The peer needs to be rebooted for the dashboard SSH access change to take place. I tried disabling the SSH server access while the peer is powered off, and then enabling it once the peer is powered on via the NetBird's dashboard, however, I have faced issues connecting to it. It almost seems like the netbird service on the peer now requires a restart for the dashboard SSH access changes to take place, which was not the case before. This defeats the purpose of the SSH server as if deployed remotely, the peer can't be accessed, and the peer requires remote access to fix the issue. Please let me know if I can provide any additional details. Thank you,
saavagebueno added the clientdashboardssh labels 2026-08-05 01:06:50 -04:00
Author
Owner

@mgarces commented on GitHub (Oct 30, 2024):

hey @AV3T thank you for this report.
Can you please tell us:

  • client version
  • OS version (release and kernel)

I would try to replicate on our side before asking for anything else. Thanks for the info!

<!-- gh-comment-id:2448105010 --> @mgarces commented on GitHub (Oct 30, 2024): hey @AV3T thank you for this report. Can you please tell us: - client version - OS version (release and kernel) I would try to replicate on our side before asking for anything else. Thanks for the info!
Author
Owner

@AV3T commented on GitHub (Oct 30, 2024):

Hello @mgarces , you are most welcome.

The client version in this case is 0.30.3.

I was previously able to use the built-in SSH feature on version 0.30.1 of the client without issues, but that is no longer the case. I experience the same issue on the 0.30.1 client version now as well.

The host OS version is Ubuntu 24.04.1 LTS, kernel is 6.8.0-47-generic.

The peer OS is Ubuntu 24.04 LTS, kernel is 6.8.0-41-generic.

Edit: The NetBird in use if the official version, and not the self-hosted one - if that helps as well. Thank you

<!-- gh-comment-id:2448151238 --> @AV3T commented on GitHub (Oct 30, 2024): Hello @mgarces , you are most welcome. The client version in this case is 0.30.3. I was previously able to use the built-in SSH feature on version 0.30.1 of the client without issues, but that is no longer the case. I experience the same issue on the 0.30.1 client version now as well. The host OS version is Ubuntu 24.04.1 LTS, kernel is 6.8.0-47-generic. The peer OS is Ubuntu 24.04 LTS, kernel is 6.8.0-41-generic. Edit: The NetBird in use if the official version, and not the self-hosted one - if that helps as well. Thank you
Author
Owner

@AV3T commented on GitHub (Oct 30, 2024):

Additional update:

I was able to SSH to the peer with built-in server after changing the group to which the peer belongs to. 44338/TCP is whitelisted/allowed within both groups. I wonder if the group change caused the netbird service to communicate to the dashboard and fetch the SSH access information at that point. Weird, but hope additional information helps.

<!-- gh-comment-id:2448203665 --> @AV3T commented on GitHub (Oct 30, 2024): Additional update: I was able to SSH to the peer with built-in server after changing the group to which the peer belongs to. 44338/TCP is whitelisted/allowed within both groups. I wonder if the group change caused the netbird service to communicate to the dashboard and fetch the SSH access information at that point. Weird, but hope additional information helps.
Author
Owner

@orchard0 commented on GitHub (Dec 17, 2024):

@AV3T I can confirm that your workaround works. It seems that the dashboard sends a put request to the server to enable ssh but the server doesn't update the connected clients unless the group change trick is used.

<!-- gh-comment-id:2547922546 --> @orchard0 commented on GitHub (Dec 17, 2024): @AV3T I can confirm that your workaround works. It seems that the dashboard sends a put request to the server to enable ssh but the server doesn't update the connected clients unless the group change trick is used.
Author
Owner

@themockingjet commented on GitHub (Jan 29, 2025):

+1
scenario 1: cannot connect netbird ssh without netbird up --allow-server-ssh
scenario 2: after netbird up --allow-server-ssh i have to remove and add the groups again to allow communications

WSL2

<!-- gh-comment-id:2621009459 --> @themockingjet commented on GitHub (Jan 29, 2025): +1 scenario 1: cannot connect netbird ssh without netbird up --allow-server-ssh scenario 2: after `netbird up --allow-server-ssh` i have to remove and add the groups again to allow communications WSL2
Author
Owner

@lixmal commented on GitHub (Jan 29, 2025):

This should've been fixed a while ago, which version(s) are you on?

<!-- gh-comment-id:2621033441 --> @lixmal commented on GitHub (Jan 29, 2025): This should've been fixed a while ago, which version(s) are you on?
Author
Owner

@themockingjet commented on GitHub (Jan 29, 2025):

@lixmal unfortunately. both runs on v0.36.5

<!-- gh-comment-id:2621041566 --> @themockingjet commented on GitHub (Jan 29, 2025): @lixmal unfortunately. both runs on v0.36.5
Author
Owner

@alx-xlx commented on GitHub (Apr 13, 2025):

I get this, when trying to ssh
Both devices have ssh enabled using the webgui as well as using the terminal command

C:\Users\alexd>netbird ssh pi@100.101.58.115
Error: dial tcp 100.101.58.115:44338: i/o timeout
Couldn't connect. Please check the connection status or if the ssh server is enabled on the other peer
You can verify the connection by running:

 netbird status

Error: dial tcp 100.101.58.115:44338: i/o timeout
<!-- gh-comment-id:2800309900 --> @alx-xlx commented on GitHub (Apr 13, 2025): I get this, when trying to ssh Both devices have ssh enabled using the webgui as well as using the terminal command ``` C:\Users\alexd>netbird ssh pi@100.101.58.115 Error: dial tcp 100.101.58.115:44338: i/o timeout Couldn't connect. Please check the connection status or if the ssh server is enabled on the other peer You can verify the connection by running: netbird status Error: dial tcp 100.101.58.115:44338: i/o timeout ```
Author
Owner

@Oujiii commented on GitHub (May 17, 2025):

Same as above. Running version 0.44.0 on both ends.

<!-- gh-comment-id:2888733580 --> @Oujiii commented on GitHub (May 17, 2025): Same as above. Running version 0.44.0 on both ends.
Author
Owner

@zsmith009 commented on GitHub (Jun 29, 2025):

Using latest version and this is still happening. Simply toggling the switch in dashboard doesn't work, have to use the command line.

This issue has been open for at least 8 months which is making me reluctant to move my entire infrastructure over from tailscale.

A shame, because I liked netbird.

<!-- gh-comment-id:3017243987 --> @zsmith009 commented on GitHub (Jun 29, 2025): Using latest version and this is still happening. Simply toggling the switch in dashboard doesn't work, have to use the command line. This issue has been open for at least 8 months which is making me reluctant to move my entire infrastructure over from tailscale. A shame, because I liked netbird.
Author
Owner

@kapihop-backup commented on GitHub (Jul 12, 2025):

Moved to tailscale because of ssh issue

<!-- gh-comment-id:3065760532 --> @kapihop-backup commented on GitHub (Jul 12, 2025): Moved to tailscale because of ssh issue
Author
Owner

@MaximeGratens commented on GitHub (Jul 30, 2025):

Same problem on our side.

<!-- gh-comment-id:3136262785 --> @MaximeGratens commented on GitHub (Jul 30, 2025): Same problem on our side.
Author
Owner

@ApexAlpha commented on GitHub (Aug 9, 2025):

I have this issue as well, I can't connect over netbird ssh unless I reboot the ssh server node.

<!-- gh-comment-id:3170509124 --> @ApexAlpha commented on GitHub (Aug 9, 2025): I have this issue as well, I can't connect over netbird ssh unless I reboot the ssh server node.
Author
Owner

@NebulaMik3x commented on GitHub (Aug 9, 2025):

Tried everything I've found as a solution online but no luck with ssh connection, i get timeout error even when ping works. Running latest version as of today.. I liked Netbird so i hope you find a solution for ssh.

<!-- gh-comment-id:3170527290 --> @NebulaMik3x commented on GitHub (Aug 9, 2025): Tried everything I've found as a solution online but no luck with ssh connection, i get timeout error even when ping works. Running latest version as of today.. I liked Netbird so i hope you find a solution for ssh.
Author
Owner

@zimmerx commented on GitHub (Sep 17, 2025):

Same issue here, the latest agents on both sides, unfortunately, nothing worked, even a Server restart.

<!-- gh-comment-id:3304234897 --> @zimmerx commented on GitHub (Sep 17, 2025): Same issue here, the latest agents on both sides, unfortunately, nothing worked, even a Server restart.
Author
Owner

@mad73923 commented on GitHub (Oct 7, 2025):

Similar issues here.
I was lucky to find a solution for a hassle-free + secure ssh management. But with the newer versions this is not possible any more.

<!-- gh-comment-id:3378021221 --> @mad73923 commented on GitHub (Oct 7, 2025): Similar issues here. I was lucky to find a solution for a hassle-free + secure ssh management. But with the newer versions this is not possible any more.
Author
Owner

@wynieDB commented on GitHub (Nov 24, 2025):

I am using client node version 0.59.11 and server node version 0.45.1.

Still have the same issue with Windows machines. No issues with Linux machines (Debian and Raspbian).

<!-- gh-comment-id:3570569507 --> @wynieDB commented on GitHub (Nov 24, 2025): I am using client node version `0.59.11` and server node version `0.45.1`. Still have the same issue with Windows machines. No issues with Linux machines (Debian and Raspbian).
Author
Owner

@lixmal commented on GitHub (Nov 24, 2025):

Folks, can you test the latest 0.60.x please

<!-- gh-comment-id:3570597221 --> @lixmal commented on GitHub (Nov 24, 2025): Folks, can you test the latest 0.60.x please
Author
Owner

@clarkmcc commented on GitHub (Dec 2, 2025):

I just updated both my client and an agent installed on another device from 0.59.x to 0.60.4 and SSH has stopped working. Previously, the Netbird SSH server was running on port 44338, now it seems to be attempting to connect over port 22.

$ sudo netbird ssh root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted
Failed to connect to root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22

Troubleshooting steps:
  1. Check peer connectivity: netbird status -d
  2. Verify SSH server is enabled on the peer
  3. Ensure correct hostname/IP is used
Error: dial 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22: SSH server detection: connect to 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22: dial tcp 100.102.187.253:22: connect: connection refused

When I try and specify the old port number directly, it doesn't seem to support custom port numbers.

$ sudo netbird ssh root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338
Failed to connect to root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22

Troubleshooting steps:
  1. Check peer connectivity: netbird status -d
  2. Verify SSH server is enabled on the peer
  3. Ensure correct hostname/IP is used
Error: dial 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: parse address 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: address 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: too many colons in address

I am able to ping the device

$ ping 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted
PING 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted (100.102.187.253): 56 data bytes
64 bytes from 100.102.187.253: icmp_seq=0 ttl=64 time=232.345 ms
64 bytes from 100.102.187.253: icmp_seq=1 ttl=64 time=148.904 ms
64 bytes from 100.102.187.253: icmp_seq=2 ttl=64 time=172.323 ms
64 bytes from 100.102.187.253: icmp_seq=3 ttl=64 time=437.396 ms
<!-- gh-comment-id:3603504363 --> @clarkmcc commented on GitHub (Dec 2, 2025): I just updated both my client and an agent installed on another device from 0.59.x to 0.60.4 and SSH has stopped working. Previously, the Netbird SSH server was running on port 44338, now it seems to be attempting to connect over port 22. ```bash $ sudo netbird ssh root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted Failed to connect to root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22 Troubleshooting steps: 1. Check peer connectivity: netbird status -d 2. Verify SSH server is enabled on the peer 3. Ensure correct hostname/IP is used Error: dial 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22: SSH server detection: connect to 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:22: dial tcp 100.102.187.253:22: connect: connection refused ``` When I try and specify the old port number directly, it doesn't seem to support custom port numbers. ```bash $ sudo netbird ssh root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338 Failed to connect to root@689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22 Troubleshooting steps: 1. Check peer connectivity: netbird status -d 2. Verify SSH server is enabled on the peer 3. Ensure correct hostname/IP is used Error: dial 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: parse address 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: address 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted:44338:22: too many colons in address ``` I am able to ping the device ```bash $ ping 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted PING 689ceab78d45d0107dea3c2e-187-253.netbird.selfhosted (100.102.187.253): 56 data bytes 64 bytes from 100.102.187.253: icmp_seq=0 ttl=64 time=232.345 ms 64 bytes from 100.102.187.253: icmp_seq=1 ttl=64 time=148.904 ms 64 bytes from 100.102.187.253: icmp_seq=2 ttl=64 time=172.323 ms 64 bytes from 100.102.187.253: icmp_seq=3 ttl=64 time=437.396 ms ```
Sign in to join this conversation.
No Label client dashboard ssh
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#6129