SchoofsKelvin / vscode-sshfs

Extension for Visual Studio Code: File system provider using SSH
GNU General Public License v3.0
543 stars 36 forks source link

Can not use FTP over TLS (Explicit)? #216

Closed wp-xpert closed 3 years ago

wp-xpert commented 3 years ago

--> Connect as Workspace Folder, freezes..

I can not use FTP over TLS (Explicit)! Is there any possibility? Thank you

SchoofsKelvin commented 3 years ago

I assume you mean the standard SFTP feature? Not entirely sure what "FTP over TLS" refers to. If it's actually the FTP protocol you're talking about, the extension doesn't support that. Although with how you were able to connect it as a WS and it doesn't immediately error, I'm not entirely sure what's up.

Can you paste your logs (Output > SSH FS) here? Make sure to check all sensitive data is censored. The extension should censor passwords/passphrases, but just those.

wp-xpert commented 3 years ago

No, not SFTP it's FTPS (https://en.wikipedia.org/wiki/FTPS)

It's just a nice to have. I'll try to find a workaround and connect via SFTP.

Awesome Visual Studio Code Plugin, by the way. Your plugin is better then all others!! Just sent you a little donation!

Thank you!!

Here is the log. The Symbol in SSH File System Explorer stucks at "Connecting"

The terminal process failed to launch (exit code: 1).

[INFO] Command received to connect advarics [INFO] [createConnection(advarics,config)] Creating a new connection for 'advarics' [INFO] Calculating actual config [DEBUG] Final configuration: { "host": "libube.han-solo.net", "name": "advarics", "password": "", "port": 21, "username": "advarics", "_location": 1, "_locations": [ 1 ], "_calculated": { "host": "libube.han-solo.net", "name": "advarics", "password": "", "port": 21, "username": "advarics", "_location": 1, "_locations": [ 1 ] } } [INFO] [createSocket(advarics)] Creating socket [DEBUG] [createSocket(advarics)] Connecting to libube.han-solo.net:21 [INFO] [createSSH(advarics)] Creating SSH session over the opened socket

SchoofsKelvin commented 3 years ago

The wikipedia article mentions it's different from SFTP:

FTPS should not be confused with the SSH File Transfer Protocol (SFTP), a secure file transfer subsystem for the Secure Shell (SSH) protocol with which it is not compatible. It is also different from FTP over SSH, which is the practice of tunneling FTP through an SSH connection.

The extension only supports SFTP. I don't have any immediate plans to add support for (any kind of) FTP for now.

I see you're connecting on port 21 instead of 22. The extension uses the SSH protocol, but your server probably requires the FTP (over TSL) protocol. It probably hangs while waiting for a handshake or something similar that never occurs.

Thanks for the donation!

I'll be closing this issue, since I'm not planning on supporting FTP (over TLS) anytime soon. Perhaps sometime I might abstractify this extension and/or add support for FTP (over TLS) and/or other protocols, but not planning on it anytime soon. The current code base provides a decent framework for that (connection management, FS abstractions, utilities, config management and settings UI, ...), so it at least isn't completely off the table. If you want to try your hand at it, go ahead. It would take quite a bit of effort before I can (officially) add it to the extension though.

wp-xpert commented 3 years ago

Ok thanks for the answer, I didn't notice it doesn't support FTP at all.... that's a pity

Do you think I can implement a fast workaround, e.g. using a middleman? Like connecting via SFTP at a server which forwards the connection to the wanted server using FTP... Just wondering.... Hmm probably wont work...

SchoofsKelvin commented 3 years ago

Do you think I can implement a fast workaround, e.g. using a middleman? Like connecting via SFTP at a server which forwards the connection to the wanted server using FT

Perhaps you can mount the FTP on your server (mentioned here and here), at which point using the extension to access the mounted directory over SFTP should theoretically work? I haven't done anything with FTP or mounting any kind of directory, so this is just a quick seemingly plausible idea I thought of based on your comment.