The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Share tech news, updates, or what's on your mind.

Sign up to Post

I have a client that is running Windows Server 2016. They have two FTP sites (behind a VPN firewall) on Ports 21 and 21000. The reason they have 2 FTP sites to to accommodate different aspects of their business.

These FTP sites recently stopped working for no obvious reason and I've set-up SFTP for them.

Following an online set of directions I found [1], I am able to have certain users land in a given folder (e.g. ~\ProgramData\ssh\sshd_config) with the directive:

ChrootDirectory D:\FTPSites\Site

Open in new window

Otherwise it defaults to C:\Users\UserName, which is not acceptable to them long-term.

Is there a way to have SFTP go to a different directory based on the local user accessing the server? Or is SFTP limited to only one folder a user can "Chroot" to?


[1] https://tech.xenit.se/installing-and-configuring-sftp-server-on-windows-server-2016/
I am troubleshooting an existing FTP Connection in Windows Server 2016. This FTP connection has it's bindings in IIS set to port 21:

I can Telnet to that server from the client via Port 21.

I am getting the same errors on both the client and the server, but what's really strange is that there is a random port at the attempt of connect. Things like:

2020-01-24 14:49:14.389 Connecting to ...

Open in new window

2020-01-24 14:49:14.389 Connecting to ...

Open in new window

Is there some sort of dynamic port range that I missed? These numbers seem low for that, but I need a sanity check from someone who has seen this before.

I figured that the FTP would connect over Port 21, as I bound that in IIS.

Thanks for your help!
I am running Windows Server 2016 and have two FTP sites setup in IIS (one using port 21 and one using 21000). Both aren't working for me and I need a sanity check to get these working today.

It's not networking because I can successfully Telnet into the Server on those Ports. I have been over permissions a dozen times, comparing exactly what's in Production (what I know works) with what is on this STAGE server, but it still seems like that's an issue (based on the status codes below).

I'm stumped as to a next level of troubleshooting. I even recreated the FTP site in IIS from the ground-up and am still getting the same results.

This is the error I'm receiving:

Transfer channel can't be opened. Reason: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Could not retrieve directory listing
Data channel timed out.

Open in new window

Both the local logs and server logs jump from "227" ("Entering Passive Mode") to "550" with "Data Channel Timed out" ("Requested action not taken. File unavailable (e.g., file not found, no access)").

Thanks in advance for your help.
I can't seem to get FTP working when I bind it to a host name on IIS (version 8.5).  When I enter a hostname under the IIS FTP binding, I cannot connect.  When I enter nothing under the hostname, however, I can connect just fine.  How can I bind FTP to a specific hostname?  I want this so I can have 2 different websites using FTP on the same server.  Here is a screenshot:    

In the screenshot, I put the hostname in and then I go into windows explorer and type ftp://theravive.com and I cannot access anything.  WIndows gives me the message seen in screenshot 2.   If I leave the hostname blank in the FTP bindings, everything works fine.  What am I doing wrong?  My goal is to have 2 different websites with FTP.  By leaving the hostname blank, my second website keeps FTP'ing into the first website.  Would love some help, thank you!

I installed Filezilla server 0_9_60_2 on a Windows Server 2016 box with default options.  Am unable to get the admin UI to appear though.  It is running per the task manager but not appearing on the screen.

I looked at other similar issues online and they refer to a 'start minimized' option that should be set to 0.  I see nothing like that in the current xml configuration file.  


I am trying to log sonicwall capture logs to an FTP server but it fails I have attached a pcap file of the failurefailed-ftp.pcapng
I have  Canon EOS 7D with a WFT attached.   I need to set up an FTP server in Windows 10 Professional X64.   I have set up the site in IIS, but I cannot get the WFT to connect to the FTP server.   I get the error 45 or 41, cannot connect to the FTP server.   The WFT connects to the router, but is not able to get any further.
Hello, so I've been trying to fiddle with iptables for my web server. Everything is working except for passive ftp and I can't seem to get it right.

Here are my iptables rules:

-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT 

Open in new window

I have the line IPTABLES_MODULES="nf_conntrack_ftp" in iptables-config

Anyway, all ftp users aren't able to connect (they are if I disable iptables).
To put it better, they do connect but then they can never reach their root directory and they get an error saying the / directory couldn't be found.

So there must be something wrong in my IPTABLES, but I can't find it for the life of me. I've followed every guide I found and I can't find my mistake.

Can you guys lend a hand?
trying to figure out how to modify an xml version 1.0 script to allow several files to be picked up by an ftp server. We have a current script in place that was created many years ago.. we haven't have to change it but now have the need.
Here is the script below... what I am trying to do is get the last documents (pull file 3 and 4) to actually recognize and pull the files. The file names are also listed below...

<?xml version="1.0" encoding="utf-8" ?>

NOTE: CU Contact Info


 <!-- NOTE: ftp dirs lowercased-->


        <add key="archiveDays" value="60"/>
        <add key="archiveDirectory" value="archive"/>

      <!-- FTP Server INfo -->
        <add key="FTPServer" value="" />
        <add key="FTPUN" value="confidential" />
        <add key="FTPPwd" value="confidential" />
        <add key="FTPPort" value="22" />

        <!-- Log file info -->
        <add key="LogFile" value="\\blgappserv1\infinity\CreditUnionFTP\work\logs\BLGFeed.log"/>

        <!-- To/From paths-->
        <!-- <add key="networkRootDirectory" value="P:\PCFS\" /> -->
        <add key="networkRootDirectory" value="\\blgdcserv1.blg.local\data\PCFS\" />
        <add key="networkSourceDirectory" value="Exports" />
        <add key="networkDestinationDirectory" value="Imports" />

        <add key="ftpSourceDirectory" value="export" />
        <add key="ftpDestinationDirectory" value="import" />

Hi Folks,

I have a file, which I need to sort and segregate the Transaction sets and transfer each transaction set into an FTP folder as a separate file. PFA is the original file "file-a.txt", With the help of other experts in the community using the program "sortingMultiEDIrecords.txt" I am able to segregate the Transaction sets into multiple output files in my example it is "output-1.txt", "output-2.txt" and "output-3.txt". Then I used another program "ftpFileUpload.txt" to upload these output files into an FTP server in a specified folder.
            Now the issue I have is I am having trouble doing this 2 stage process in my server in which I will be deploying. So I am looking for one Java program which instead of genearting the output files into a folder and then picking it up from there to upload into FTP, I am looking a for a solution where in the outputs are directly FTPed in teh FTP server. So instead of the BusortingMultiEDIrecords.txtsortingMultiEDIrecords.txtftpFileUpload.txtfile-a.txtoutput-1.txtoutput-2.txtoutput-3.txtfferedWriter which writes to an intermediate storage should actually directly write it into the FTP folder. PFA all the programs and files. I would appreciate the feedback and sample code if possible.

Hi Folks,

I have an EDI file, which I need to sort and segregate the Transaction sets and transfer each transaction set into an FTP folder as a separate file. In the attachments I have "File A" which is the actual input file and "File B" shows format after the sort to show the individual transaction sets and finally 3 files "Output 1" , "Output 2" and "Output 3" which have to be extracted out of the File B and have to be sent to an FTP server. The idea is to directly extract the Output 1 , 2 and 3 from File A. I have shown the File B to depict what I meant by Transaction sets.

Each Transaction set consists of the following components in that order. Please check the file "File_A_components" which shows the highlighted components from the "File A" for reference.  I would need suggestion on how to generate Output 1, 2 and 3 separate files into an FTP server using Java. I am an amateur in JAVA. So please provide as detailed as possible.

Transaction Set components
ST set

I'd like to use a script in a batch file to perform a file transfer using ftp.
 I can not figure out the syntax

The full path for the file I want to upload is:  \\myserver\database\myfilename.csv
Assume my ftp account is:
My password is: MyPassword

The root folder of my ftp account is httpdocs\ and I would like to copy it into my downloads folder

"C:\Program Files (x86)\WinSCP\WinSCP.com" /ini=nul /command
"put \\myserver\database\myfilename.csv /httpdocs/Downloads/myfilename.csv" "exit"  

Note: I have spaces between each line in the batch file.. Broke it up this way to make it easier to read.
We have a cloud application that up until 6 weeks ago, was able to send SFTP file transfers to our FTP server.    Now only FTP connections can get through.   I am not an expert at FTP but we set it up years ago and the SFTP connection worked fine.    Now that it fails, I don't know where to look or where to enable the SFTP connection.   Any suggestions on where to look would be appreciated.

I am looking FTP server with FTP, FTPS and SFTP protocol.
I need FTP server in Tenant (Hosted) mode where I can configure different domains (segregation) and assign disk space as per requirement.
If server is windows based than its excellent. I am not looking hosted/cloud FTP server. I would like to host/configure server in our data center offer service to end users.
FileZilla-Server-Connection-Issues-.docxFileZilla Server SFTP connection issue from outside network. I need help resolving issues with sftp connection to filezilla server from outside network. Please see attachment for details for my current Router, FileZilla Server, and FileZilla Client configurations.
Using Microsoft .NET Framework Version 4.8.03752 I performed a [successful] FTP upload.  How do I compare the source and the target to verify they match?
Connecting to my Windows 7 FileZilla FTP server from outside; I get the error: Could not connect to server.
Hi All,

We use WatchGuard as our firewall and have Dimensions setup for reporting. What is the easiest way to find out and possibly monitor all users that have some form of file transfer either ftp, or web/app based such as dropbox etc?

Can this be done / how best to view this info or set this up?

Need to create an ability to transfer files via a web browser.

Can do FTP in the background. But must be a web front end that we can skin up.

Currently use Joomla for most web projects. Installed eDocMan and JDownloads etc..

Server is running Windows and Plesk. This is not changeable. Could be pure IIS if we use another box.. However, want to use the PLESK box as Nirvana.

Can upload ZIP as 1.99GB successfully now as eDocMan. Cannot do larger ISOs. Can do 700MB not 2GB.

Need a solution to do 15GB+.

Please advise what I can use to achieve a customisable front web interface that can take single large files.


So as far as I can see all should be fine.
I know browser upload on big files historically are hard. But using Chrome which exceeds 2GB limit.
I know IIS can have an issue bc the max size is 4GB something. However, need to know how hard a limit this is.

Need some guidance please.

Cannot just use FTP or FTP in windows address bar. Needs to be a "delivered solution"

Please advise.

Many thanks in advance.
Hi Experts,

I was given access to production server (admin) thru SSH/SFTP.

Tried changing something on a PHP file (using Core FTP LE), was able to edit/override and it got saved as well, however don't see them affecting my site.
Guess I'm missing something just don't know what...
Tried clearing app cache but didn't help.

In addition, when right clicked on a JavaScript file and selected Edit, did not gave me an option to open with Notepad, just threw some error, as though I was trying to execute it.
How can I accomplish that?

Setting up Cerberus FTP server.
We have a user who wants a ftp server in his network.

I have created 4 or 5 CSR requests for a ssl certificates and all it creates is a domain.com cert.
I need it to create a ftp.domain.com cert.

No matter what I put in for the name of the cert it is always the same. domain.com

I created a DNS setting on my server to point ftp.domain.com to the ftp server and it does connect externally.
But when I connect it shows certificate error.

But when I connect to the ftp server it does show that im connecting with the ssl connection using TLSv1.2.
So the ssl sertificate is doing used but the cert name is only domain.com.

I'm guessing since the names don't match. That's why I'm receiving this error.

IS there a way to create a certificate with another name.

Would I have to create a wildcard or San Cert?
Hi Experts,

I have the following function that processes files (downloaded from an FTP server thru a PS Script every 15 minutes), and then keeps a log of those processed files.

Public Sub CallImportDataToCaspio()
   Dim StrFile As String, strTable As String, sFileStr As String
   Dim sDir As String
   Dim l As Long, s As String, i As Long
   Dim db As Database
   Set db = CurrentDb
   sDir = "E:\AppDev\FTP\Caspio\"
   'sDir = "E:\AppDev\FTP\Caspio\"
    'StrFile = Dir(sDir & "*PatChanges*")
    StrFile = Dir(sDir & "*" & sFileStr & "*")
    Do While Len(StrFile) > 0
        If Not IsFileOpen(sDir & StrFile) Then
            ''        Do While IsFileOpen(sDir & StrFile)
            ''            ' do nothing
            ''        Loop
            If InStr(1, StrFile, "Full") = 0 And InStr(1, StrFile, "Part") = 0 Then
                i = CountOfRecords(sDir, StrFile)
                If i > 1 Then
                    'Debug.Print StrFile & " - " & CountOfRecords(sDir, StrFile)
                    If InStr(1, StrFile, "PatChanges") > 0 Then
                        strTable = "Patients"
                        l = ImportDataToCaspio(strTable, sDir & StrFile, i)
                    ElseIf InStr(1, StrFile, "SchChanges") > 0 Then
                        strTable = "Schedule"
                        l = ImportDataToCaspio(strTable, sDir & 

Open in new window


the ftp port 21 is blocked on my windows 2008 server.
I disabled the windows firewall, how can i open this port on this server?
I am using an FTP software and I am trying to connect to this server to transfer some files.

any help would be appreciated.
Hi Experts,

I had this script running for a long time w/o any issues.
Suddenly it stopped working, no errors (See attached).

Any idea how to troubleshoot?

PS. Main goal here is to figure out what have caused it and how to prevent this in the future.

I'm trying to add sFTP access for a few individual customers.  I do not want them to have shell access.  I found an article here that works.  However, I need my Samba users to be able to access these files, as well, so I needed to change the home directory.  As soon as I did that, the user is no longer able to log in.

I'm nearly certain this is a permissions issue, but I can't seem to figure out where the problem is.






The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Top Experts In