# Remote Terminal

SSH – or Secure Shell – allows us to connect to our server over our local network to run commands remotely.

This is very helpful for running an always-on server that doesn't have a display attached, often called a "headless" system. During the Debian install process, we opted to enable SSH by support.

When connecting to a new host, SSH will create a digital fingerprint for it. When we connect to this server in the future, it will compare the server's fingerprint to the one currently on file. In the event they don't match in the future, SSH will warn us that there is a mismatch and someone might be impersonating your server.

There are many different ways to connect to your server using SSH. We will highlight some common methods for connecting to our server and controlling it remotely.

## Linux

You can use the terminal available on most Distributions of Linux – such as Debian, Ubuntu, and Linux Mint – to remotely connect to your server.

<p class="callout info">You will need to know your [username set during the installation process](https://hub.subspace.services/books/software/chapter/installing-an-operating-system "Installing an Operating System") and the IP Address you set during [network configuration](https://hub.subspace.services/books/software/page/networking "Static Network IP").</p>

You can open a terminal and ensure that SSH is installed by running the command:

```bash
sudo apt-get install -y ssh
```

<table border="1" class="align-center" id="bkmrk-" style="border-collapse: collapse; width: 100%; border-width: 1px; height: 28.8px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 28.8px;"><td style="height: 28.8px;">[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/lWFimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/lWFimage.png)

</td><td style="height: 28.8px;">[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/RYmimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/RYmimage.png)

</td></tr></tbody></table>

Once we are sure this is installed, we can run connect to our server through the terminal using the *ssh* command. We will be connecting to our user account what is at our server's IP address:

```bash
ssh username@192.168.68.100
```

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/RPQimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/RPQimage.png)

You will be alerted that the authenticity of the host server could not be verified. This happens because we have never connected to the server before and it can't ensure the server's fingerprint.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/OCzimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/OCzimage.png)

We can type 'yes' then hit 'enter' to accept the newly generated host fingerprint and remember it for future use.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/zzoimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/zzoimage.png)

Now, you will be prompted for your password. After hitting 'enter', you will be connected to your server and can run commands.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/mMjimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/mMjimage.png)

You can disconnect from the SSH connection with the following command:

```bash
exit
```

## Windows

Windows 10 and Windows 11 come with a client pre-installed so you can use SSH to connect to your server remotely.

<p class="callout info">You will need to know your [username set during the installation process](https://hub.subspace.services/books/software/chapter/installing-an-operating-system "Installing an Operating System") and the IP Address you set during [network configuration](https://hub.subspace.services/books/software/page/networking "Static Network IP").</p>

You can open a terminal or PowerShell and run the following command:

```bash
ssh username@192.168.68.100
```

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/8dEimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/8dEimage.png)

You will be alerted that the authenticity of the host server could not be verified. This happens because we have never connected to the server before and it can't ensure the server's fingerprint.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/2MNimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/2MNimage.png)

We can type 'yes' then hit 'enter' to accept the newly generated host fingerprint and remember it for future use.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/jnEimage.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/jnEimage.png)

Now, you will be prompted for your password. After hitting 'enter', you will be connected to your server and can run commands.

[![image.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/518image.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/518image.png)

You can disconnect from the SSH connection with the following command:

```bash
exit
```

## MacOS

MacOS, and the legacy OS X, come with SSH already installed so you can remotely connect to your server.

<p class="callout info">You will need to know your [username set during the installation process](https://hub.subspace.services/books/software/chapter/installing-an-operating-system "Installing an Operating System") and the IP Address you set during [network configuration](https://hub.subspace.services/books/software/page/networking "Static Network IP").</p>

We can connect to our server through the terminal using the *ssh* command. We will be connecting to our user account what is at our server's IP address:

```bash
ssh username@192.168.68.100
```

You will be alerted that the authenticity of the host server could not be verified. This happens because we have never connected to the server before and it can't ensure the server's fingerprint.

We can type 'yes' then hit 'enter' to accept the newly generated host fingerprint and remember it for future use.

Now, you will be prompted for your password. After hitting 'enter', you will be connected to your server and can run commands.

You can disconnect from the SSH connection with the following command:

```bash
exit
```

## Android &amp; iOS

There are apps available through the Google Play Store and Apple App Store that allow you to remotely connect to your server using SSH.

We recommend [Termius](https://termius.com/), a freeware application for Android 7 and iOS 16 or newer. You can create a profile for your server with the credentials pre-saved for quick connection. As a premium paid feature, you can also sync these hosts between the mobile and desktop clients.

[![1000006219.png](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006219.png)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006219.png)

## Web Access

SSH is a great option for connecting to your server over your local network, but is not available through the world wide web. The easiest way to accomplish this is to use our home server to host [Guacamole](https://hub.subspace.services/books/administration-monitoring/chapter/guacamole "Guacamole"), a web application that facilitates remote connection to RDP, VNC and SSH through your web browser.

[![Screen Shot 2025-03-09 at 21.24.24.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-21-24-24.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-21-24-24.png)