Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Great Article, but I want to know how can I change the user FTP directory to /var/www/html/sammy/ftp instead of the /home/sammy/ftp ?
I simply couldn’t get this to work. It is such a well written article, but no matter how hard I tried, I always got a “connection refused” message. As soon as I changed from ftp to sftp, everything started to work.
Great Articel! What if we try to ftp with the root user? Can we make a difference if the user is root then we can see the all folder in the /home directory or something?
everything ok except now i cant login with root ssh :/ i have only access with ftp
When I log in via SFTP remotely, I get this error and am logged out immediately:
Received message too long 1416128883
Ensure the remote shell produces no output for non-interactive sessions.
How to create symlink from /home/user/ftp/files to /var/www so files go to /var/www? or change the config of vsftpd.conf to /var/www ?
Should port 990 be in vsftpd config?
Why should we open it in firewall? Where is it used?
Maybe we should open it only in implicit ssl mode:
implicit_ssl=YES
listen_port=990
Explicit TLS works OK over ports 20/21 + passive range without 990 in firewall.
Status: Connecting to server-name:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Great guide, thank you!
For others following along, there were a couple of stumbling blocks for me.
The first was that inetd/xinetd were not installed by default for me, so I had to run vsftpd standalone by setting listen=YES in /etc/vsftpd.conf, and then enabling via system vsftpd start.
The second issue for me was that in the generation of the TLS key, the example has the same value for -keyout and -out, which causes OpenSSL to throw an error. We need something like
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem
(Note the different paths). I generally prefer to use the suffix .key for my key files, but this is arbitrary.
Awesome Article 👏
I was reading the documentation of using FTP Service on Ubuntu… https://ubuntu.com/server/docs/service-ftp
Found that we can restrict shell access simply by doing this 👇
To allow users with a shell of /usr/sbin/nologin access to FTP, but have no shell access, edit /etc/shells adding the nologin shell:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Is this the right way to do it ?
I followed the article and seems my FTP server accepts connections and am able to establish TLS connections with my username but at the end I get the following errors from my Filezilla client.
Error: GnuTLS error -15 in gnutls_record_recv: An unexpected TLS packet was received. Error: Could not read from socket: ECONNABORTED - Connection aborted Error: Disconnected from server Error: Failed to retrieve directory listing
I also tried using LFTP but when I try to see the directory using LS command or use GET command I get “ls: Login failed: 530 Permission denied.” error message. Any idea what could cause this?
Thanks, Ramin