FTP was designed in an era when a client connected from a workstation to a server that could always reach it back. That assumption is the source of nearly every FTP problem people still hit, because the network between the two now almost always belongs to someone else.
A session has two connections, not one. One carries your commands. The other carries the file data, and that second connection is the part that behaves differently between active and passive mode.
What active mode does
Active mode means the server connects back to your computer.
You tell the server an address and port to open, and it makes an outbound connection to you when a file transfer or a directory listing starts. This works beautifully when both ends can reach each other directly.
It fails when your computer is behind a router or a firewall. The address you send is your private one, inside your own network, and the server has no route to it. Modern clients also get this wrong in a second way. They may hand over an address that the server cannot be trusted to interpret safely, which some servers now refuse outright as a security measure.
What passive mode does
Passive mode reverses it. Your computer connects to the server, twice.
The server opens a port, tells you which, and you connect to it from your side. Both connections then leave your network rather than arriving in it, so a router has nothing to block and nothing to translate.
This is why every FTP client defaults to passive, and why the default is the right answer almost every time.
A server using passive mode announces the listening port on each transfer, and the number is different every time. On this hosting a listing announced port 30825. That matters because a firewall has to allow a whole range rather than a single port, and a network that only allows 21 will let you log in and then hang on the first listing.
The symptoms, and what they mean
The failure is almost never in your credentials. It happens after you log in.
A directory listing that hangs forever is the classic. The login works, the folder refuses to populate, and the client sits there until it times out. That is the data connection never being established, and it is nearly always the mode or a firewall.
A 425 error naming a failure to open a data connection says the same thing with more words.
A list that works but file transfers fail, or the reverse, is the same connection failing under a different command. Both use the same channel.
If you suspect active mode is the problem, switching to passive fixes it instantly and needs no server change.
On this hosting
Passive works from behind a typical home or office connection. We tested that rather than assuming it, and a directory listing came back immediately.
Active mode was refused when we tried it from the internet, and that is the server behaving correctly rather than failing. It is protecting against an old attack where a server is tricked into connecting to somewhere it should not.
None of that is an absolute rule, because both modes can work depending on where you are connecting from. A client on the same network as the server, a machine with a public address, or a network with rules written for FTP can use active mode without trouble. What changes is the network in between, not the server.
So leave your client on passive. It is the default, it is the setting that survives a firewall, and there is rarely a reason to change it.
What we suggest instead of FTP
Passive mode exists to work around a problem that FTP created. SFTP does not have the problem at all.
SFTP runs over SSH on a single connection. There is no second channel, no port negotiated per transfer, no address your client has to hand over, and therefore no active or passive to choose between. It is considerably easier to get through a firewall and it is encrypted by default.
Connecting over SSH is what we suggest for getting files in and out, and there are two ways to do it that both avoid active and passive entirely.
Through your FTP client, as SFTP. Most clients offer SFTP as a connection type beside FTP and FTPS. Choose it, and the fields change to the SSH account and your key rather than the FTP username and password. This is the smallest change if you already have a client you like.
Through an editor that works over SSH. A development tool such as VS Code connects to the server directly and edits files where they live, so there is no upload step at all and no second connection to negotiate. It is the better fit for maintaining a site rather than moving a batch of files once. Tools in this class also give you a shell on the same connection, which covers the same ground as SCP for anything you need to copy.
Both routes authenticate as your SSH account, which is not the FTP account. Access accepts either a key or the SSH password, and the panel has a page for each. A key is the better long term choice, because it can be revoked one machine at a time and cannot be guessed. The article on creating an SSH key covers setting that up, and the FTP account article covers the other door.
EnterraHost