> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockops.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Private Servers Deployment

> Connect a server you operate to Blockops over an SSH tunnel and deploy a node to it.

### Prerequisites

* Ensure that **SSH server** is running on your device.
* If your SSH server runs on a non-default port (not 22), update the SSH port in the Blockops UI to match.
* Ensure your deployment user does **not require a password for sudo** commands.
  * You have two options:
    1. **Create a dedicated passwordless user** for Blockops.
    2. **Allow passwordless sudo** for your user by editing the sudoers file:

       ```bash theme={null}
       sudo visudo
       ```

       Add this line (replace `youruser` with your actual username):

       ```bash theme={null}
       youruser ALL=(ALL) NOPASSWD:ALL
       ```

### Authentication Methods

1. Password-Based SSH Authentication: you'll need:

   1. username: the username on your device
   2. password: the password for that user
   3. port: the SSH port (default: 22)

   \\

2. Private Key Authentication

<Note>
  Blockops does not support passphrased private keys.
</Note>

1. Create a new SSH key pair: run this command on your terminal\\

   ```
   ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
   ```

2. When prompted:
   1. File path: Press Enter to save to default (\~/.ssh/id\_rsa)
   2. Passphrase: Press Enter to create a key without a passphrase\\

3. Add the public key\
   Copy the contents of `~/.ssh/id_rsa.pub` into `~/.ssh/authorized_keys`

### Connecting Your Private Server to Blockops

**Log in**

* Go to [app.blockops.network](https://app.blockops.network)
* Sign in or create an account

#### Select deployment options

1. Choose the network you want to deploy
2. Select Baremetal as the cloud provider
3. In the Authentication section, check the private server field and follow the on-screen instructions.

#### Install Autossh

On your private server, install autossh:

<Tabs>
  <Tab title="MacOS">
    ```bash theme={null}
    brew install autossh
    ```
  </Tab>

  <Tab title="Ubuntu/Debian">
    ```bash theme={null}
    sudo apt update && sudo apt install -y autossh
    ```
  </Tab>
</Tabs>

#### Establish the SSH Tunnel

Run this command once (to add blockops.sh:7777 to known\_hosts):

<Note>
  You can find this command in the **Authentication** section after selecting the **Private Server** option.
</Note>

```bash theme={null}
sudo autossh -M 0 -R example71:22:localhost:22 blockops.sh -p 7777
```

Then, re-run the same command to establish the persistent connection

```bash theme={null}
sudo autossh -M 0 -R example71:22:localhost:22 blockops.sh -p 7777
```

This creates a private, secure tunnel between your server and Blockops.

#### Deploy Your Node

Return to the Blockops UI and click Continue to finalize the connection and deploy your node.
