# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mnx.io/getting-started/generating-an-ssh-key/generating-an-ssh-key-in-macos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
