Search code examples
sshphpstormsftp

PhpStorm SSH / SFTP cygwin


I want to use my cygwin configuration for SSH ou SFTP connection but doesn't work.

My configucation file "config" is in directory C:\cygwin64\home\<username>\.ssh. This configuration file define an SSH proxy jump and send some environment variables. This configuration file work fine in cygwin to connect in SSH or SFTP.

In PhpStorm settings I've specified the shell path in Tools > Terminal to be C:\cygwin64\bin\bash.exe --login -i. All local terminal use cygwin fine. But the ssh connection don't use my configuration file. I tried copying configuration in C:\Users\<username>\.ssh directory but that does not work.

Can you help me?


Solution

  • I found the solution. You need to install the latest version of OpenSSH. To achieve this, I did the following actions:

    1. Installing the scoop package manager (https://scoop.sh/) using PowerShell

      $ Set-ExecutionPolicy RemoteSigned -scope CurrentUser Answer Y

      $ Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

    2. Installing OpenSSH

      $ scoop install win32-openssh

      normally the installation modifies the environment variable %PATH% to add the path something like C:\Users\<username>\scoop\shims. Otherwise you have to add it.

    3. Modification of the environment variable %PATH% to remove the path C:\Windows\System32\OpenSSH

    4. Enable the "OpenSSH Authentication Agent" service On keyboard press Windows + R

      Type: services.msc and press Enter.

      Double click on the "OpenSSH Authentication Agent" service

      Select the "Automatic" start type and start the service.

    After these actions, I was able to connect from the Windows cmd terminal. I tested from PhpStorm and it works too.