Update NetBird SSH for v0.60.0+ breaking change in 26.04 script

NetBird v0.60.0 removed the built-in SSH server ('netbird ssh <peer-name>').
SSH now routes through standard openssh-server via a drop-in config at
/etc/ssh/sshd_config.d/99-netbird.conf on port 22022.

- Ensure openssh-server is installed and enabled when NetBird is selected
- Remove all 'netbird ssh <peer-name>' references
- Update instructions: connect via 'ssh user@<netbird-ip>' using netbird status
- Note the dashboard step: Peers > [peer] > SSH to enable per-peer SSH access
- Applied across install section, SSH summary, and next-steps section

https://claude.ai/code/session_017jFG5YuHf2CCGS5HiheoeM
This commit is contained in:
Claude
2026-06-01 21:49:06 +00:00
parent 8a276337ab
commit afb5d22d2e
+24 -11
View File
@@ -2195,7 +2195,15 @@ if [ "$INSTALL_NETBIRD" = "y" ] || [ "$INSTALL_NETBIRD" = "Y" ]; then
if [ "$DRY_RUN" = true ]; then
echo "[DRY-RUN] Would download and run NetBird install script"
echo "[DRY-RUN] Would ensure openssh-server is installed (required for NetBird SSH)"
else
# NetBird v0.60.0+ requires openssh-server for SSH access.
# It injects /etc/ssh/sshd_config.d/99-netbird.conf and listens on port 22022.
echo "Ensuring openssh-server is installed (required for NetBird SSH)..."
apt install -y openssh-server 2>/dev/null || echo "Warning: openssh-server install failed, continuing..."
systemctl enable ssh 2>/dev/null || true
systemctl start ssh 2>/dev/null || true
curl -fsSL https://pkgs.netbird.io/install.sh | sh || echo "Warning: NetBird installation failed, continuing..."
echo ""
@@ -2203,12 +2211,13 @@ if [ "$INSTALL_NETBIRD" = "y" ] || [ "$INSTALL_NETBIRD" = "Y" ]; then
echo " 1. Create account at https://app.netbird.io (or self-host)"
echo " 2. Run 'netbird up' and authenticate via browser"
echo ""
echo "For NetBird SSH functionality:"
echo " • Enable SSH in NetBird dashboard settings"
echo " • Use 'netbird ssh <peer-name>' to connect to peers"
echo " • NetBird manages SSH keys automatically when using 'netbird ssh'"
echo " • Traditional SSH also works using peer IPs from 'netbird status'"
echo " • Configure ACL rules in dashboard for SSH access (port 22)"
echo "For NetBird SSH functionality (v0.60.0+ new method):"
echo " • NetBird now uses openssh-server (installed above) for SSH access"
echo " • Enable SSH per-peer in the NetBird dashboard (Peers > [peer] > SSH)"
echo " • NetBird injects /etc/ssh/sshd_config.d/99-netbird.conf automatically"
echo " • Connect from another NetBird peer with: ssh user@<netbird-ip>"
echo " • Get peer IPs with: netbird status"
echo " • Note: 'netbird ssh <peer-name>' (old command) no longer works"
echo ""
fi
else
@@ -7554,11 +7563,13 @@ else
echo " - Password login: ENABLED"
fi
echo ""
echo " NetBird SSH Access (independent of traditional SSH):"
echo " - NetBird manages its own keys automatically"
echo " - Works even with password auth disabled"
echo " - Connect with: netbird ssh <peer-name>"
echo " - Enable in NetBird dashboard first"
echo " NetBird SSH Access (v0.60.0+ method):"
echo " - Requires openssh-server running (installed by this script)"
echo " - Enable per-peer in NetBird dashboard: Peers > [peer] > SSH"
echo " - NetBird injects /etc/ssh/sshd_config.d/99-netbird.conf"
echo " - Connect from another peer: ssh user@<netbird-ip>"
echo " - Get peer IPs with: netbird status"
echo " - Note: old 'netbird ssh <peer-name>' command no longer works"
echo ""
echo " You can use ANY combination:"
echo " ✓ GitHub + Launchpad + NetBird SSH"
@@ -7626,6 +7637,8 @@ if [ "$INSTALL_NETBIRD" = "y" ] || [ "$INSTALL_NETBIRD" = "Y" ]; then
echo " 1. Run 'netbird up' (opens browser for authentication)"
echo " 2. View connected peers: netbird status"
echo " 3. Configure ACLs in dashboard: https://app.netbird.io"
echo " 4. Enable SSH per-peer: Peers > [peer] > SSH (in dashboard)"
echo " 5. Connect via SSH: ssh user@<netbird-ip> (NOT 'netbird ssh')"
echo ""
fi
if [ "$INSTALL_RUSTDESK" = "y" ] || [ "$INSTALL_RUSTDESK" = "Y" ]; then