Skip to main content

SSH agent socket

To interact with an SSH agent, XPipe utilizes the same interface as the SSH client. On Windows, this is a named pipe, which it does not require any setup and will usually work out of the box. On Linux, you have to properly configure the agent via the SSH_AUTH_SOCK environment variable such that other applications know where to find the socket.

Note that this also applies to various other agents and environment variables, not only the OpenSSH agent.

Configuration pitfalls

In practice, this can sometimes fail when the environment variable is set up in the wrong init file. If you initialize the variable in the rc file of your login shell, you have to move the initialization to your shell profile. Otherwise, GUI-based applications like XPipe do not pick up the variable.

The rc init files like .bashrc or .zshrc are intended for terminal sessions, whereas the profile files like .bash_profile or .zprofile are intended to run on a login session. That means that if you run a GUI application from, for example, a .desktop file, it will not apply any variables set in your rc init scripts.

Proper configuration

If you set your SSH_AUTH_SOCK variable in your rc file, you can either move that initialization to your profile script or source it in your profile by adding . ~/.bashrc or . ~/.zshrc to your profile script. If you then log out of your current session, it should correctly apply the environment variable in the next session and XPipe should be able to communicate to your agent.