Booteille
Booteille

Reputation: 123

PHPStorm - Could not connect to FTPS server

I can't figure out how to connect to my web server using FTPS on PHPStorm.

I tried to activate Passive mode and to always use LIST command but nothing works. If PHPStorm can't connect to the ftp server, FileZilla can and works correctly.

Does someone know what I must do ?

Here are the logs :

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.<init>(FTPClientWrapper.java:58)
    at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.<init>(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.<init>(FTPClientWrapper.java:58)
    at org.apache.commons.vfs2.provider.ftps.FtpsClientWrapper.<init>(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

Upvotes: 2

Views: 4060

Answers (2)

abadooz
abadooz

Reputation: 203

I had the same problem. go to File -> Settings... -> Deployment. Select the FTP connection and click the Advanced options... button. Tick Passive mode then save . follow the path : enter image description here

Upvotes: 0

mhellmeier
mhellmeier

Reputation: 2281

I have got the exact same problem. I switched the Type from "FTPS" to "FTP". After this, I clicked on "Advanced options..." and selected "Passive mode" and "Always use LIST command".

After this, the connection worked pretty well.

It is a mystery to me, why I can connect to a FTPS host with FTP selected.

PhpStorm Version: 2016.2.1

Upvotes: 2

Related Questions