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