Do you need to learn how run an SFTP server? OpenSSH is the free/open-source tool used by many companies. It runs on both Windows And Linux servers.
Neal released his second Udemy course in May of 2020, titled SFTP Client/Server Deep Dive (with OpenSSH & WinSCP).
The course was designed for system administrator and/or developers that need to install and support SFTP (Secure/SSH File Transport Protocol). This if often needed in B2B scenarios where your company needs to send or receive files to various trading partners, customers, or vendors. It is common to transfer XML, EDI (Electronic Data Interchange), or CSV files to and from SFTP sites.
The original FTP protocol goes back many years, but it was never secure. The data and even the passwords were sent in clear text over the internet. FTPS was one solution to that issue, and it uses SSL/TSL certificates to perform encryption/decryption. But SFTP is one of the preferred methods to use in today’s world, and OpenSSH is probably the most popular software package for running an SFTP server.
While SSH can work with just a user/password, it is common for the trading partner to send you his private key, and you need to know how to install that on your OpenSSH server. OpenSSH also generates your own private/public key-pairs when you install it. Neal frequently refers to the concept of “TOFU” – “Trust On First Use”.
In this course, Neal explains the difference between FTP, FPTS, and SFTP, what he calls “FTP Soup”. He also explains SSH (Secure Shell), the protocol on which SFTP runs. He covers the most common clients, such as WinSCP and FileZilla.
Another part of the course is how to use SFTP in the real world, The course shows how to schedule SFTP transfers at a given time (daily, weekly, etc…). For Windows, this is done on Windows task manager, and on Linux, it’s done by a “CRON JOB”. In either case, the developer or administrator might have to write a small script to do the transfer (BASH for Linux, and PowerShell or a .bat/cmd file for Windows).
If a developer is using C#, it is possible to send and receive SFTP file directly from that .NET program. WinSCP includes a .NET library. As a matter of fact, this library is so solid, that Microsoft BizTalk 2016 decided to use it instead of their own internally written SFTP code that was used in BizTalk 2016.
Neal also demonstrates how to use Microsoft BizTalk Server to send and receive SFTP files. BizTalk is a popular middleware, business process manager software platform used by many Windows customers for Business to Business (B2B) and Enterprise Application Integration (EAI).
Beyond SFTP, there are higher level enterprise solutions called Managed File Transfer. They often contains a web portal to audit and view all the transfers, and all the logging is done to a typical SQL database.
For those students that want to use or learn Unix, Neal shows how to install Ubunutu 20.04 using Oracle Virtual Box. He then installs OpenSSH on that server, then shows how to configure it for multiple users.
The entire course consists of 61 “lectures” (mostly hands-on demonstration videos, and a few slide presentations). There are overs 6 hours videos in total.