Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added public/docs-static/img/ssh/ssh-client.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/docs-static/img/ssh/ssh-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/components/NavigationDocs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ export const docsNavigation = [
{ title: 'Approve Peers', href: '/how-to/approve-peers' },
{ title: 'Setup Keys', href: '/how-to/register-machines-using-setup-keys' },
{ title: 'Browser Client', href: '/how-to/browser-client' },
{ title: 'SSH', href: '/how-to/ssh' },
{ title: 'Lazy Connections', href: '/how-to/lazy-connection'},
{
title: 'Access Infrastructure',
Expand Down
10 changes: 5 additions & 5 deletions src/pages/how-to/browser-client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Before using the Browser Client, ensure:

1. **Admin privileges** - You must be logged into the NetBird dashboard with an admin account (required for temporary ACL creation)
2. **Protocol requirements**:
- **For SSH**: The NetBird SSH server must be enabled on the target peer
- **For SSH**: The NetBird SSH server must be enabled on the target peer. Learn more about [enabling SSH access](/how-to/ssh).
- **For RDP**: The RDP server must be enabled on the target machine
3. **Modern browser** - You're using an up-to-date version of Chrome, Firefox, Edge, or Safari with WebAssembly support

Expand All @@ -46,6 +46,10 @@ When connecting via SSH:
1. Click the **SSH** button for your target peer
2. A credentials modal will appear

<Note>
Before connecting via SSH, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/how-to/ssh).
</Note>

<p>
<img src="/docs-static/img/how-to-guides/browser-client/ssh-credentials-modal.png" alt="ssh-credentials-modal" className="imagewrapper-big"/>
</p>
Expand All @@ -58,10 +62,6 @@ When connecting via SSH:
<img src="/docs-static/img/how-to-guides/browser-client/ssh-terminal-connected.png" alt="ssh-terminal-connected" className="imagewrapper-big"/>
</p>

<Note>
**NetBird SSH Required**: The target peer must have NetBird's SSH server enabled. Learn how to [enable SSH access](/how-to/cli#ssh).
</Note>

### RDP Connection

For RDP access:
Expand Down
11 changes: 8 additions & 3 deletions src/pages/how-to/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,9 @@ Peers count: 2/3 Connected

### ssh
Command to connect using ssh to a remote peer in your NetBird network.

<Note>
Before using this command, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/how-to/ssh).
</Note>
You should run the ssh command with elevated permissions.
#### Flags
```shell
Expand All @@ -419,11 +421,14 @@ When you try to connect via `netbird ssh <peer>`, errors can occur. Please enabl
```shell
netbird up --allow-server-ssh
```
This will allow the the `SSH Access feature` to work when enabled in the dashboard, under Peers > _your_peer_ > SSH Access.

Ensure that the peer you are trying to connect to has `SSH Access` enabled in the dashboard, under Peers > _your_peer_ > SSH Access.

<p>
<img src="/docs-static/img/how-to-guides/enable-ssh-access.png" alt="high-level-dia" className="imagewrapper-big"/>
<img src="/docs-static/img/ssh/ssh-dashboard.png" alt="netbird ssh dashboard" className="imagewrapper-big" />
</p>


### version
Outputs the `netbird` command version.
#### Usage
Expand Down
69 changes: 69 additions & 0 deletions src/pages/how-to/ssh.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import {Note} from "@/components/mdx";

# SSH

NetBird provides secure SSH access to your peers through its built-in SSH server, allowing you to connect to remote machines without exposing SSH ports to the internet.

<Note>
SSH Access is disabled by default and must be enabled both on the target peer and in the NetBird Dashboard.
</Note>


## Requirements

To use SSH access through NetBird, you need to enable SSH in two places:

1. **NetBird Client Settings** - Enable SSH on the target peer
2. **NetBird Dashboard** - Allow SSH access for the peer

## Enabling SSH

### Step 1: Enable SSH Server on Target Peer

On the machine you want to access via SSH:

1. Click on the NetBird tray icon
2. Navigate to Settings
3. Click on **Allow SSH** to enable the SSH server

If you are using the CLI, you can enable SSH by running:

```bash
netbird down # if NetBird is already running
netbird up --allow-server-ssh
Comment thread
mlsmaycon marked this conversation as resolved.
```

<p>
<img src="/docs-static/img/ssh/ssh-client.png" alt="netbird ssh client" className="imagewrapper" />
</p>

### Step 2: Enable SSH in Dashboard

1. Log in to your NetBird Dashboard
2. Navigate to the target peer details page
3. Enable SSH access for the peer
4. Save the changes

<p>
<img src="/docs-static/img/ssh/ssh-dashboard.png" alt="netbird ssh dashboard" className="imagewrapper-big" />
</p>

## Using SSH

### CLI

For SSH access through the command line interface (CLI), refer to the [CLI documentation](/how-to/cli#ssh) for detailed instructions on establishing SSH connections using the NetBird CLI.

### Browser Client

For SSH access through the Browser Client, refer to the [Browser Client documentation](/how-to/browser-client#ssh-connection) for detailed instructions on establishing SSH connections directly from your web browser.

## Get started
<p float="center" >
<Button name="button" className="button-5" onClick={() => window.open("https://netbird.io/pricing")}>Use NetBird</Button>
Comment thread
heisbrot marked this conversation as resolved.
</p>

- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird)
- Follow us [on X](https://x.com/netbird)
- Join our [Slack Channel](/slack-url)
- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub