# Bare Metal Quickstart

***

Your node has Linux (Ubuntu) OS. It comes pre-loaded with some tools to simplify your set-up process.

## Connecting to Your Node

When your bare metal node is ready, you will be provided its username and IP address. To connect to your node, use the following command on a device with one of the SSH keys:

```bash
ssh [username]@[ip_address]
```

This command will be your primary method of accessing and managing your node.

***

## Node Basics

Your node comes with Ubuntu 22.04 LTS and ROCm. All SSH keys you've initially provided will have root user access.

### Adding More SSH Keys

In the event that you would like to provide more users SSH access to your node, follow these steps:

1. Copy your key, which should be structured like:

```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDxAZn... user@host
```

2. SSH into your node using:

```bash
ssh [username]@[ip_address]
```

3. Open your authorized keys file using:

```bash
nano /home/[username]/.ssh/authorized_keys
```

4. Paste your key at the bottom of the file
5. Save and exit
6. Restart the sshd service using:

```bash
sudo systemctl restart sshd
```

### Monitoring Your GPUs

To get more information on your GPUs, use `rocm-smi` in your terminal. To continue to monitor this, you can run `watch -n 0.5 rocm-smi`. This will provide information on both IDs and usage in intervals of 0.5 seconds, as shown below:

```
============================================ ROCm System Management Interface ============================================
====================================================== Concise Info ======================================================
Device  Node  IDs              Temp        Power     Partitions          SCLK    MCLK    Fan  Perf  PwrCap  VRAM%  GPU%
              (DID,     GUID)  (Junction)  (Socket)  (Mem, Compute, ID)
==========================================================================================================================
0       2     0x74a1,   39334  45.0°C      142.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
1       3     0x74a1,   34119  42.0°C      135.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
2       4     0x74a1,   664    42.0°C      137.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
3       5     0x74a1,   33001  48.0°C      142.0W    NPS1, SPX, 0        154Mhz  900Mhz  0%   auto  750.0W  0%     0%
4       6     0x74a1,   15994  46.0°C      143.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
5       7     0x74a1,   63627  40.0°C      137.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
6       8     0x74a1,   33811  47.0°C      143.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
7       9     0x74a1,   41883  42.0°C      132.0W    NPS1, SPX, 0        132Mhz  900Mhz  0%   auto  750.0W  0%     0%
==========================================================================================================================
================================================== End of ROCm SMI Log ===================================================
```

### Downloading and Uploading Files

To download files from your server, use the `scp` command:

```bash
// For individual files
scp [username]@[ip_address]:/path/to/remote/file /path/to/local/destination
// For subdirectories
scp -r [username]@[ip_address]:/path/to/remote/directory /path/to/local/destination
```

To upload files to your server, you may also use the scp command:

```bash
// For individual files
scp /path/to/local/file [username]@[ip_address]:/path/to/remote/destination
// For subdirectories
scp -r /path/to/local/file [username]@[ip_address]:/path/to/remote/destination
```

### Accessing Remote Services Locally

Often times, you will find yourself needing to access a service being exposed on your remote server, locally. To do so, use the following command:

```bash
ssh -L local_port:remote_host:remote_port [username]@[ip_address]
```

For example, let's assume you want to access a Jupyter Notebook that you've exposed on port 8888. From your **local** command line, you'll want to use the following:

```bash
ssh -L 8888:localhost:8888 [username]@[ip_address]
```

Then, you can access this in your browser at [http://localhost:8888<br>](http://localhost:8888).

***
