# Create SSH configurations

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/help/idea/2026.3/llms.txt).

In IntelliJ IDEA, you can save the remote server SSH connection parameters as a dedicated SSH configuration. The created configuration can be then used for   [connecting to SFTP deployment servers](creating-a-remote-server-configuration.html), or [launching SSH sessions](running-ssh-terminal.html).

![SSH configurations dialog](https://resources.jetbrains.com/help/img/idea/2026.3/ij_ssh_configuration.png)

Procedure: Enable the FTP/SFTP/WebDAV Connectivity plugin

This functionality relies on the [FTP/SFTP/WebDAV Connectivity](https://plugins.jetbrains.com/plugin/13125-ftp-sftp-webdav-connectivity)  plugin, which  is bundled and enabled in IntelliJ IDEA   by default. If the relevant features are not available, make sure that you did not disable the plugin.

> **Note:**
> The FTP/SFTP/WebDAV Connectivity plugin is not available in IntelliJ IDEA without the Ultimate subscription.

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Plugins`.

2. Find the FTP/SFTP/WebDAV Connectivity plugin and click Enable.

Procedure:

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Tools | SSH Configurations`.

2. In the left pane, click ![Add item](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg).

3. Use the Visible only for this project checkbox   to enable reuse of this server access configuration in other projects.

* Select the checkbox to restrict the use of the SSH configuration to the current project. Such SSH configuration cannot be reused outside the current project. It does not appear in the list of available configurations in other projects. Project-specific configurations are stored in the `.idea` directory. Review these files before sharing them [through version control](version-control-integration.html). Server configurations available to all projects are stored in the IDE settings.

* When the checkbox is cleared, the SSH configuration is visible in all IntelliJ IDEA projects. Its settings can be reused across several projects.

4. In the Host, Username, and Port fields, specify the connection parameters.

5. Choose the way to authenticate to the server. Do one of the following:

* Password: Access the host with a password. To save the password in IntelliJ IDEA, select the Save password checkbox.

* Key pair (OpenSSH or PuTTY): Use [SSH authentication](https://www.ssh.com/) with a key pair. To apply this authentication method, you must have a private key on the client machine and a public key on the remote server. IntelliJ IDEA supports private keys that are generated with the [OpenSSH](https://www.openssh.com/) utility. Specify the path to the file where your private key is stored and type the passphrase (if any) in the corresponding fields. To have IntelliJ IDEA remember the passphrase, select the Save passphrase checkbox.

* OpenSSH config and authentication agent: Use a credentials helper application that manages your SSH keys, such as [ssh-agent](https://en.wikipedia.org/wiki/Ssh-agent) or [Pageant (Windows only)](https://the.earth.li/~sgtatham/putty/0.70/htmldoc/Chapter9.html#pageant). > **Tip:** > If you have both OpenSSH ssh-agent and Pageant running, only ssh-agent will be used, even if it does not contain any keys.

For more information about working with SSH keys, refer to the [Generating a new SSH key and adding it to the ssh-agent](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/) tutorial.

6. Click the Test Connection button to make sure that the settings are correct and IntelliJ IDEA can connect to the target server.

> **Note:**
> Note that the created SSH server configuration is not yet a  [deployment server configuration](deploying-applications.html). If you need to deploy applications to a remote SSH server, you need to create a deployment server configuration of the SFTP type. For details, see [Create a remote server configuration](creating-a-remote-server-configuration.html).

> **Tip: OpenSSH logs**
> To troubleshoot an SSH connection, check the [IDE logs](directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#logs-directory). For authentication errors, also check the SSH server logs or ask the server administrator. Their location depends on the server operating system and configuration.
>
>
>
> For example, on a Fedora server, run `sudo journalctl -u sshd.service` to view the SSH server logs. These logs can help identify authentication failures and rejected connections.

## Supported OpenSSH directives

When you use OpenSSH config and authentication agent, IntelliJ IDEA reads your SSH configuration files. Choose how to read them in `Settings | Advanced Settings | SSH | Configuration files parser`.

The default OpenSSH option requires OpenSSH on your computer and runs `ssh -G` to read the configuration. IntelliJ IDEA then applies the settings supported by its SSH implementation, not every OpenSSH feature.

The Legacy option uses the parser built into IntelliJ IDEA, which supports the following directives:

* [AliveInterval](https://man.openbsd.org/ssh_config#ServerAliveInterval)

* [ClearAllForwardings](https://man.openbsd.org/ssh_config#ClearAllForwardings)

* [Compression](https://man.openbsd.org/ssh_config#Compression)

* [ConnectTimeout](https://man.openbsd.org/ssh_config#ConnectTimeout)

* [ForwardAgent](https://man.openbsd.org/ssh_config#ForwardAgent)

* [ForwardX11](https://man.openbsd.org/ssh_config#ForwardX11)

* [ForwardX11Trusted](https://man.openbsd.org/ssh_config#ForwardX11Trusted)

* [GSSAPIAuthentication](https://man.openbsd.org/ssh_config#GSSAPIAuthentication)

* [HashKnownHosts](https://man.openbsd.org/ssh_config#HashKnownHosts)

* [Host](https://man.openbsd.org/ssh_config#Host)

* [Hostname](https://man.openbsd.org/ssh_config#Hostname)

* [IdentitiesOnly](https://man.openbsd.org/ssh_config#IdentitiesOnly)

* [IdentityAgent](https://man.openbsd.org/ssh_config#IdentityAgent)

* [LocalForward](https://man.openbsd.org/ssh_config#LocalForward)

* [PreferredAuthentications](https://man.openbsd.org/ssh_config#PreferredAuthentications)

* [ProxyCommand](https://man.openbsd.org/ssh_config#ProxyCommand)

* [RemoteForward](https://man.openbsd.org/ssh_config#RemoteForward)

* [ServerAliveCountMax](https://man.openbsd.org/ssh_config#ServerAliveCountMax)

* [StrictHostKeyChecking](https://man.openbsd.org/ssh_config#StrictHostKeyChecking)

* [UserKnownHostsFile](https://man.openbsd.org/ssh_config#UserKnownHostsFile)

* [XAuthLocation](https://man.openbsd.org/ssh_config#XAuthLocation)

> **Note:**
> With the Legacy parser, `ForwardAgent` takes effect only when the `ssh.agent.forwarding` registry option is enabled. This option is enabled by default.

