du kannstentweder sftp benutzen oder aber z.b. proftpd mit tls einrichten.
diese anleitung ist schon etwas älter, für debian und sicher auch andere darauf basierende distributionen, aber noch aktuell. bei anderen musst du bei der packetauswahl halt ein wenig anpassen.
mit sftp ist es etwas aufwendiger einen userin sein verzeichnis einzusperren, falls das gewünscht wird. du musst sftp dann im chroot laufen lassen.
beim clienten musst du dann gucken, dass das entsprechende protokoll unterstützt wird.
filezilla, kasablanca und kftpgrabber können auch tls. gftp kann, soweit ich weiss nur sftp.