title: PHPStorm - Could not connect to FTPS server
body: <p>I can't figure out how to connect to my web server using FTPS on PHPStorm.</p>
  
  <p>I tried to activate <strong>Passive mode</strong> and to <strong>always use LIST command</strong> but nothing works. If PHPStorm can't connect to the ftp server, FileZilla can and works correctly.</p>
  
  <p>Does someone know what I must do ?</p>
  
  <p>Here are the logs :</p>
  
  <pre><code>2015-11-26 16:03:51,105 [  66041]  DEBUG - t.connections.RemoteConnection - Opening connection to ftps://my-server.com:21/ 
  2015-11-26 16:03:51,148 [  66084]  DEBUG - ains.plugins.webDeployment.ftp - 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
  220-You are user number 1 of 50 allowed.
  220-Local time is now 16:03. Server port: 21.
  220-This is a private system - No anonymous login
  220-IPv6 connections are also welcome on this server.
  220 You will be disconnected after 15 minutes of inactivity. 
  2015-11-26 16:03:51,148 [  66084]  DEBUG - ains.plugins.webDeployment.ftp - AUTH TLS 
  2015-11-26 16:03:51,169 [  66105]  DEBUG - ains.plugins.webDeployment.ftp - 234 AUTH TLS OK. 
  2015-11-26 16:03:51,198 [  66134]   WARN - t.connections.RemoteConnection - Retrying connecting to ftps://my-server.com:21/: 1 iterations 
  org.apache.commons.vfs2.FileSystemException: Could not connect to FTPS server on "my-server.com".
      at org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory.createConnection(FtpClientFactory.java:283)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientFactory.createConnection(FtpsClientFactory.java:59)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.createClient(FtpsClientWrapper.java:48)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.createClient(FTPClientWrapper.java:80)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.getFtpClient(FTPClientWrapper.java:105)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.&lt;init&gt;(FTPClientWrapper.java:58)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.&lt;init&gt;(FtpsClientWrapper.java:41)
      at org.apache.commons.vfs2.provider.ftps.FtpsFileProvider.doCreateFileSystem(FtpsFileProvider.java:52)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:102)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:80)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:64)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:790)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:712)
      at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionPool.createConnection(RemoteConnectionPool.java:159)
      at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionManager.openConnection(RemoteConnectionManager.java:103)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeContext.getConnection(ServerTreeContext.java:88)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.computeFile(ServerTreeNode.java:271)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.getChildren(ServerTreeNode.java:135)
      at com.intellij.ui.treeStructure.SimpleTreeStructure.getChildElements(SimpleTreeStructure.java:25)
      at com.intellij.ide.util.treeView.AbstractTreeUi$32.perform(AbstractTreeUi.java:1624)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.getChildrenFor(AbstractTreeUi.java:1621)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$4700(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$47.perform(AbstractTreeUi.java:2708)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$2500(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$58$1.perform(AbstractTreeUi.java:3386)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.WebServerTreeBuilder.runBackgroundLoading(WebServerTreeBuilder.java:90)
      at com.intellij.ide.util.treeView.AbstractTreeUi$58.perform(AbstractTreeUi.java:3377)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$2500(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$59.perform(AbstractTreeUi.java:3442)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.util.concurrency.WorkerThread.run(WorkerThread.java:108)
      at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)
  Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
      at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1991)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1098)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
      at org.apache.commons.net.ftp.FTPSClient.sslNegotiation(FTPSClient.java:269)
      at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:211)
      at org.apache.commons.net.SocketClient.connect(SocketClient.java:183)
      at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
      at org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory.createConnection(FtpClientFactory.java:207)
      ... 44 more
  2015-11-26 16:03:51,198 [  66134]   WARN - i.remotebrowser.ServerTreeNode - Could not connect to FTPS server on "my-server.com". 
  org.apache.commons.vfs2.FileSystemException: Could not connect to FTPS server on "my-server.com".
      at org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory.createConnection(FtpClientFactory.java:283)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientFactory.createConnection(FtpsClientFactory.java:59)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.createClient(FtpsClientWrapper.java:48)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.createClient(FTPClientWrapper.java:80)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.getFtpClient(FTPClientWrapper.java:105)
      at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.&lt;init&gt;(FTPClientWrapper.java:58)
      at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.&lt;init&gt;(FtpsClientWrapper.java:41)
      at org.apache.commons.vfs2.provider.ftps.FtpsFileProvider.doCreateFileSystem(FtpsFileProvider.java:52)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:102)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:80)
      at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:64)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:790)
      at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:712)
      at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionPool.createConnection(RemoteConnectionPool.java:159)
      at com.jetbrains.plugins.webDeployment.connections.RemoteConnectionManager.openConnection(RemoteConnectionManager.java:103)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeContext.getConnection(ServerTreeContext.java:88)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.computeFile(ServerTreeNode.java:271)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.ServerTreeNode.getChildren(ServerTreeNode.java:135)
      at com.intellij.ui.treeStructure.SimpleTreeStructure.getChildElements(SimpleTreeStructure.java:25)
      at com.intellij.ide.util.treeView.AbstractTreeUi$32.perform(AbstractTreeUi.java:1624)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.getChildrenFor(AbstractTreeUi.java:1621)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$4700(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$47.perform(AbstractTreeUi.java:2708)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$2500(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$58$1.perform(AbstractTreeUi.java:3386)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.jetbrains.plugins.webDeployment.ui.remotebrowser.WebServerTreeBuilder.runBackgroundLoading(WebServerTreeBuilder.java:90)
      at com.intellij.ide.util.treeView.AbstractTreeUi$58.perform(AbstractTreeUi.java:3377)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1830)
      at com.intellij.ide.util.treeView.AbstractTreeUi.access$2500(AbstractTreeUi.java:62)
      at com.intellij.ide.util.treeView.AbstractTreeUi$59.perform(AbstractTreeUi.java:3442)
      at com.intellij.ide.util.treeView.TreeRunnable.run(TreeRunnable.java:33)
      at com.intellij.util.concurrency.WorkerThread.run(WorkerThread.java:108)
      at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)
  Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
      at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
      at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1991)
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1098)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
      at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
      at org.apache.commons.net.ftp.FTPSClient.sslNegotiation(FTPSClient.java:269)
      at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:211)
      at org.apache.commons.net.SocketClient.connect(SocketClient.java:183)
      at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
      at org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory.createConnection(FtpClientFactory.java:207)
      ... 44 more
  </code></pre>