> ## Documentation Index
> Fetch the complete documentation index at: https://www.1password.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 1Password for SSH & Git

export const Image = ({src, darkSrc, alt, width, border, height, round}) => {
  const classNames = ["mint-mx-4"];
  if (border) {
    classNames.push("mint-rounded-sm");
  }
  if (round) {
    classNames.push("mint-rounded-lg");
  }
  const style = {};
  if (width) style.width = typeof width === "number" ? `${width}px` : width;
  if (height) style.height = typeof height === "number" ? `${height}px` : height;
  return darkSrc ? <>
      <img src={src} alt={alt} className={[...classNames, "dark:hidden"].join(" ")} style={Object.keys(style).length > 0 ? style : undefined} />
      <img src={darkSrc} alt={alt} className={[...classNames, "hidden dark:block"].join(" ")} style={Object.keys(style).length > 0 ? style : undefined} onError={e => {
    e.target.src = src;
  }} />
    </> : <img src={src} alt={alt} className={classNames.join(" ")} style={Object.keys(style).length > 0 ? style : undefined} />;
};

Introducing 1Password for SSH & Git, the single source of truth for all your SSH keys. With 1Password, you can:

<CardGroup cols={2}>
  <div>
    * [Generate and import](/ssh/manage-keys/) your SSH keys.
    * [Autofill public keys](/ssh/public-key-autofill/) in your browser for Git and other cloud platforms.
    * Automatically configure [Git commit signing with SSH](/ssh/git-commit-signing/) from the 1Password app.
    * Use the [1Password SSH Agent](/ssh/agent/) to authenticate all your Git and SSH workflows.
    * Monitor recent [SSH activity](/ssh/manage-keys#view-ssh-activity) from the 1Password app.
  </div>

  <div>
    <Image alt="A terminal with a git push command, overlaid with a 1Password authorization prompt to approve the request to use an SSH key." src="/static/img/ssh/1password-ssh-git.png" />
  </div>
</CardGroup>

The SSH agent works with your existing SSH clients and acts as their key provider. Use your keys in your SSH workflows, like when you work with Git to check code into source control, or when you log in to virtual machines.

1Password stores all your SSH keys behind secure end-to-end encryption, allowing you to access your keys when you need them without your SSH keys ever leaving 1Password.

## Quickstart

### [Get started](/ssh/get-started/)

If you're setting up SSH in 1Password for the first time, start here.

## Guides

### [Manage SSH keys](/ssh/manage-keys/)

Learn how to generate and import SSH keys, and how to copy or download your public key if you need to share it.

### [Autofill public keys](/ssh/public-key-autofill/)

Learn how to use 1Password in your browser to fill your public keys on your favourite Git or cloud platforms.

### [Sign Git commits with SSH](/ssh/git-commit-signing/)

Learn how to automatically configure Git commit signing with SSH through the 1Password app.

### [Advanced use cases](/ssh/agent/advanced/)

Learn how to configure the 1Password SSH agent for specific hosts and how to avoid rate limits with OpenSSH servers.

### [1Password agent config file](/ssh/agent/config/)

Learn how to create and customize an SSH agent config file if you need to use SSH keys from shared or custom vaults or have more fine-grained control over the behavior of the SSH agent.

## Reference documentation

### [SSH client compatibility](/ssh/agent/compatibility/)

Learn which SSH and Git clients have been tested with the 1Password SSH agent.

### [About 1Password SSH Agent security](/ssh/agent/security/)

Learn about the authorization model for the 1Password SSH agent, how it's different from the OpenSSH agent, and what's kept in local storage.
