# Manually generating your SSH key in macOS

## Manually generating your SSH key in macOS

You generate an SSH key through macOS by using the Terminal application. Once you upload a valid public SSH key, the MNX portal uses SmartLogin to copy the public key to any new SmartOS based machine you provision.

### About Terminal <a href="#about-terminal" id="about-terminal"></a>

Terminal is the terminal emulator which provides a text-based command line interface to the Unix shell of macOS.

To open the macOS Terminal, follow these steps:

1. In Finder, choose **Utilities** from the **Applications** folder.
2. Find **Terminal** in the Utilities listw.
3. Open Terminal.

The Terminal window opens with the commandline prompt displaying the name of your machine and your username.

### Generating an SSH key <a href="#generating-an-ssh-key" id="generating-an-ssh-key"></a>

An SSH key consists of a pair of files. One is the private key, which should never be shared with anyone. The other is the public key. The other file is a public key which allows you to log into the containers and VMs you provision. When you generate the keys, you will use `ssh-keygen` to store the keys in a safe location so you can bypass the login prompt when connecting to your instances.

To generate SSH keys in macOS, follow these steps:

1. Enter the following command in the Terminal window.

   ```
   ssh-keygen -t rsa
   ```

   This starts the key generation process. When you execute this command, the `ssh-keygen` utility prompts you to indicate where to store the key.
2. Press the ENTER key to accept the default location. The `ssh-keygen` utility prompts you for a passphrase.
3. Type in a passphrase. You can also hit the ENTER key to accept the default (no passphrase). However, this is not recommended.

&#x20;You will need to enter the passphrase a second time to continue.

After you confirm the passphrase, the system generates the key pair.

```
Your identification has been saved in /Users/myname/.ssh/id_rsa.
Your public key has been saved in /Users/myname/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AXTDpdct0/6DldSSoeR+4j/qb23laGWE3+te43+a3yg yourname@local
The key's randomart image is:
+---[RSA 2048]----+
|        o.....   |
|       . o.. .oo.|
|        . . ..=+o|
|         o . .**.|
|        S   o= .+|
|          .o..* .|
|           ooO +.|
|            *+=oo|
|           +E*O*+|
+----[SHA256]-----+
```

Your private key is saved to the `id_rsa` file in the `.ssh` directory and is used to verify the public key you use belongs to the same MNX account.

{% hint style="info" %}
Never share your private key with anyone!
{% endhint %}

Your public key is saved to the `id_rsa.pub`;file and is the key you upload to your MNX.io account. You can save this key to the clipboard by running this:

```
pbcopy < ~/.ssh/id_rsa.pub
```

### Importing your SSH key <a href="#importing-your-ssh-key" id="importing-your-ssh-key"></a>

Now you must import the copied SSH key to the portal.

1. After you copy the SSH key to the clipboard, return to [your account page](https://portal.mnx.io/account/ssh/).
2. Click **Create SSH Key** and paste your SSH key into the Public Key field.
3. In the **Name** field, provide a name or description of the key.
4. **Submit** to add the key. It will now appear in your table of keys under SSH Keys.

### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

You may see a password prompt like this:

```
$ ssh root@198.x.x.x
root@198.x.x.x    's password:
```

This is because:

* You did not enter the correct passphrase.
* You are using the wrong username (Ubuntu uses `ubuntu` as the default username)
* The private key on your Macintosh (`id_rsa`) does not match the public key stored with your MNX account.
* The public key was not entered correctly in your MNX account.
