SSH client compatibility
The 1Password SSH agent has been tested for compatibility with a number of different clients that use SSH and Git.
- Mac
 - Windows
 - Linux
 
| Name | SSH Capability | Compatible with 1Password | 
|---|---|---|
| Cyberduck | SFTP | Yes | 
| DataGrip | SSH tunneling | Yes | 
| FileZilla | SFTP | Yes | 
| Fork | Git | Yes | 
| ForkLift | SFTP | Yes | 
| git CLI | Git | Yes | 
| Gitfox | Git | Yes | 
| GitHub Desktop | Git | Yes | 
| GitKraken | Git | Yes | 
| GitUp | Git | Yes | 
| JetBrains IDEs | Git | Yes | 
| Nova | Git | Yes | 
| OpenSSH | SSH, SFTP | Yes | 
| Postico | SSH tunneling | No | 
| Sequel Ace | SSH tunneling | No | 
| Sourcetree | Git | Yes | 
| Sublime Merge | Git | Yes | 
| TablePlus | SSH tunneling | Yes | 
| Termius | SSH | No | 
| Tower | Git | Yes | 
| Transmit | SFTP | Yes | 
| Visual Studio Code | Git | Yes | 
| Xcode | Git | No | 
| Name | SSH Capability | Compatible with 1Password | 
|---|---|---|
| Celestial Software | SSH, SFTP | Yes | 
| Cyberduck | SFTP | Yes | 
| FileZilla | SFTP | No | 
| Fork | Git | Yes | 
| Git for Windows | Git | Yes | 
| GitHub Desktop | Git | Yes | 
| GitKraken | Git | Yes | 
| JetBrains IDEs | Git | Yes | 
| Microsoft OpenSSH | SSH, SFTP | Yes | 
| Pageant | SSH | No | 
| PuTTY | SSH | No | 
| Sourcetree | Git | Yes | 
| Sublime Merge | Git | Yes | 
| Termius | SSH | No | 
| Tower | Git | Yes | 
| Visual Studio Code | Git | Yes | 
| Name | SSH Capability | Compatible with 1Password | 
|---|---|---|
| DataGrip | SSH tunneling | Yes | 
| git CLI | Git | Yes | 
| GitKraken | Git | Yes | 
| JetBrains IDEs | Git | Yes | 
| OpenSSH | SSH, SFTP | Yes | 
| Sublime Merge | Git | Yes | 
| Termius | SSH | No | 
| Visual Studio Code | Git | Yes | 
Working with SSH clients
Agent configuration with IdentityAgent
On Mac and Linux, most SSH and Git clients check your ~/.ssh/config file for the IdentityAgent setting for the corresponding host.
The clients then use the configured agent socket path to handle SSH authentication.
This option gives you the most flexibility, like the ability to configure multiple agents side by side.
However, not every SSH client adheres to every value in the SSH config file.
In the list below, you can see whether or not your SSH client supports configuration with IdentityAgent.
Agent configuration with SSH_AUTH_SOCK
On Mac and Linux, you can also configure the agent socket path using the SSH_AUTH_SOCK environment variable.
There are more SSH clients that support SSH_AUTH_SOCK than IdentityAgent.
For clients that support both, IdentityAgent usually takes precedence over SSH_AUTH_SOCK.
Follow the steps for your operating system to configure SSH_AUTH_SOCK for your SSH client:
- Mac
 - Linux
 
Configure SSH_AUTH_SOCK for the terminal
To configure SSH_AUTH_SOCK for the terminal, run:
Any command you run within that same shell will use the 1Password SSH agent.
To pass SSH_AUTH_SOCK to a GUI application, you can use the open command to launch the application:
Configure SSH_AUTH_SOCK globally for every client
If you want to persist and automatically configure the SSH_AUTH_SOCK environment variable for every client without launching them from the terminal, run the following snippet to create a launch agent:
Configure SSH_AUTH_SOCK for the terminal
To configure SSH_AUTH_SOCK for the terminal, run:
Any command you run within that same shell will use the 1Password SSH agent.
Configure SSH_AUTH_SOCK globally for every client
If you want to persist and automatically configure the SSH_AUTH_SOCK environment variable for every client without launching them from the terminal, run the following snippet to create a login script in /etc/profile.d/:
If your system launches the GNOME keyring SSH agent automatically, you can disable that by running the following command:
If you choose not to do this, the GNOME setting (/run/user/1000/keyring/ssh) may take precedence over the 1Password setting, depending on your operating system.
Using Git autofetch
Some Git clients are configured by default to periodically perform a git fetch in the background. This can result in authorization prompts popping up unexpectedly, so 1Password helps to suppress prompts if the application or window where the request came from isn't in the foreground.
If a prompt has been suppressed, you'll see an indicator dot on the 1Password icon in your device's menu bar, taskbar, or system tray.
To access the prompt, select the 1Password icon, then select SSH request waiting. The authorization prompt will be brought to the foreground, where you can approve or deny the request.
If you'd rather not be prompted when your applications automatically fetch changes, even when the prompts are suppressed, you can turn off the autofetch settings in your Git client and instead only fetch or pull on demand.


Setting public keys as IdentityFile
If an SSH client supports setting public keys as IdentityFile, you can use that to match hosts to a specific key in 1Password.
In the list below, you can see if that's the case for your preferred SSH client.
OpenSSH
- Mac
 - Windows
 - Linux
 
ssh, sftp, scp
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.-J, ProxyJump, ProxyCommand).ForwardAgent).ssh-add
SSH_AUTH_SOCK.-l and -L).IdentityAgent.-x and -X).ssh-add path/to/key, -d, and -D).ssh, sftp, scp
\\.\pipe\openssh-ssh-agent).IdentityFile.ssh-add
\\.\pipe\openssh-ssh-agent).-l and -L).IdentityAgent.-x and -X).ssh-add path/to/key, -d, and -D).ssh, sftp, scp
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.-J, ProxyJump, ProxyCommand).ForwardAgent).ssh-add
SSH_AUTH_SOCK.-l and -L).IdentityAgent.-x and -X).ssh-add path/to/key, -d, and -D).Celestial Software
- Windows
 
\\.\pipe\openssh-ssh-agent).IdentityFile.Cyberduck
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.\\.\pipe\openssh-ssh-agent).IdentityFile.DataGrip
- Mac
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Advanced Settings > SSH and set Configuration files parser to OpenSSH.SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Advanced Settings > SSH and set Configuration files parser to OpenSSH.FileZilla
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Fork
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile..gitconfig file set up properly.IdentityFile.ForkLift
- Mac
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.git CLI
- Mac
 - Windows
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.For Git compatibility on Windows, see Git for Windows.
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Git for Windows
- Windows
 
.gitconfig file set up properly.IdentityFile.cmd.npiperelay and socat.Gitfox
- Mac
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.GitHub Desktop
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.\\.\pipe\openssh-ssh-agent).IdentityFile.GitKraken
- Mac
 - Windows
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile..gitconfig file set up properly.SSH_AUTH_SOCK.IdentityAgent.IdentityFile.JetBrains IDEs
IntelliJ IDEA, WebStorm, GoLand, CLion, PhpStorm, RubyMine, AppCode.
- Mac
 - Windows
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Advanced Settings > SSH and set Configuration files parser to OpenSSH..gitconfig file set up properly.IdentityFile.SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Advanced Settings > SSH and set Configuration files parser to OpenSSH.Nova
- Mac
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Pageant
- Windows
 
Postico
- Mac
 
localhost.PuTTY
- Windows
 
Sequel Ace
- Mac
 
localhost.Sourcetree
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile..gitconfig file set up properly.IdentityFile.Sublime Merge
- Mac
 - Windows
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile..gitconfig file set up properly.IdentityFile.SSH_AUTH_SOCK.IdentityAgent.IdentityFile.TablePlus
- Mac
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Termius
- Mac
 - Windows
 - Linux
 
Tower
- Mac
 - Windows
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.\\.\pipe\openssh-ssh-agent).IdentityFile.Transmit
- Mac
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Visual Studio Code
- Mac
 - Windows
 - Linux
 
SSH_AUTH_SOCK.IdentityAgent.IdentityFile.\\.\pipe\openssh-ssh-agent).IdentityFile.SSH_AUTH_SOCK.IdentityAgent.IdentityFile.Xcode
- Mac