# How to generate SSH keys

### **Generate an SSH Key**

Follow these steps to create an SSH key on your local machine. If you already have an SSH key, skip to **Add Your SSH Key**.

**Linux & macOS**

1. Open **Terminal**.
2. Run the command below, replacing your email:

   ```bash
   ssh-keygen -t ed25519 -C "your_email@example.com"
   ```

   This creates a new SSH key with your email as a label.
3. When prompted to enter a file location, press **Enter** to use the default path. If an existing key is detected, you can create a custom-named key instead.
4. Set a secure passphrase when prompted.

**Adding Your SSH Key to the ssh-agent (optional)**

`ssh-agent` is a built-in program in Linux and macOS. It is a background process that manages SSH keys and their passphrases, so you don't have to enter the passphrase every time you use SSH.

1. Start the ssh-agent:

   ```bash
   eval "$(ssh-agent -s)"
   ```
2. If using macOS 10.12.2 or later, update your `~/.ssh/config` file:

   ```bash
   touch ~/.ssh/config  
   nano ~/.ssh/config  
   ```

   Add the following:

   ```plaintext
   Host *.zeupiter.com
   AddKeysToAgent yes  
   UseKeychain yes  
   IdentityFile ~/.ssh/id_ed25519  
   ```
3. Add your private key to the ssh-agent:

   ```bash
   ssh-add --apple-use-keychain ~/.ssh/id_ed25519
   ```

**Windows**

To generate an SSH key on Windows, use **PuTTY**. Refer to [<mark style="color:purple;">**Windows with PuTTY**</mark>](https://docs.oracle.com/en/cloud/paas/soa-cloud/csbcs/generate-ssh-key-pair-windows-using-puttygen-program.html) for detailed instructions.

***

### **Add Your SSH Key to Zeupiter**

Navigate to [<mark style="color:purple;">**SSH Keys**</mark>](https://www.zeupiter.com/utility/ssh-keys) in the sidebar under Utilities, click **Add an SSH Key**, and paste your public key into the form. That's it, your *One key to many Clouds* setup is completed.
