Reputation: 123
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
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 :
Upvotes: 0
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