> ## Documentation Index
> Fetch the complete documentation index at: https://ngquct-fix-failing-tests-on-main.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SSH Profiles

> Save SSH tunnel configurations as reusable profiles shared across connections

One bastion, many connections. A profile holds the server (host, port, username), the authentication method, the two-factor settings, and the jump hosts, so every connection through that bastion stops repeating them. How the tunnel itself behaves is on [SSH Tunneling](/connections/ssh-tunneling).

## Create a profile

<Steps>
  <Step title="Select SSH Tunnel on any connection">
    **Create New Profile…** sits beside the **Profile** picker.
  </Step>

  <Step title="Fill in the server and authentication fields">
    The same fields an inline config has, plus a name.
  </Step>

  <Step title="Click Create">
    The profile now appears in the **Profile** picker of every connection.
  </Step>
</Steps>

<Frame caption="Creating an SSH profile">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-fix-failing-tests-on-main/B-VjC6iXI9Vt67pz/images/ssh-profile-create.png?fit=max&auto=format&n=B-VjC6iXI9Vt67pz&q=85&s=ab22685729a232e730e9f78b5c39afa0" alt="Creating an SSH profile" width="1560" height="960" data-path="images/ssh-profile-create.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-fix-failing-tests-on-main/B-VjC6iXI9Vt67pz/images/ssh-profile-create-dark.png?fit=max&auto=format&n=B-VjC6iXI9Vt67pz&q=85&s=7bc645467d62c66d7de35ad2aaa52440" alt="Creating an SSH profile" width="1560" height="960" data-path="images/ssh-profile-create-dark.png" />
</Frame>

**Save Current as Profile…** converts a connection that already has an inline config. Picking a profile swaps the inline fields for a read-only **Profile Details** summary; **Inline Configuration** in the same picker brings them back for a tunnel that belongs to one connection alone.

## Test a profile

**Test Connection** in the profile editor runs the handshake, verifies the host key, and authenticates, without touching a database. Success turns the button into a green checkmark reading **Connected**; failure marks it with a red X and prints the error beside it. An interactive prompt, a verification code for instance, appears here exactly as it would on connect.

## Edit and delete

**Edit Profile…** opens the selected profile, and **Delete Profile** is at the bottom of that editor. An edit reaches every connection using the profile, on this Mac and on any Mac it syncs to: the server, the authentication method, the jump hosts, the password, the key passphrase and the TOTP secret all come from the profile on the next connect.

Deleting a profile hands its configuration and its secrets to each connection that used it, as that connection's own inline tunnel. Nothing stops connecting, and the tunnel is now editable per connection under **SSH Tunnel**.

## iCloud Sync

Profiles sync across Macs with iCloud Sync on and the **SSH Profiles** toggle set in **Settings > Sync**. Passwords, key passphrases, and TOTP secrets stay in the local Keychain unless the **Passwords** toggle, nested under **Connections**, is on too, and that covers newly saved credentials only: re-save an existing password to include it.
