Secure Copy, or SCP, as we usually refer to it is a protocol that facilitates file transfers between network-attached computers and/or devices. It’s actually an extension of the Secure Shell or SSH protocol. It transfers in an encrypted format using the same SSL protocol that SSH uses. SCP is mostly used by system administrators to quickly and easily copy files to and from servers and networking equipment of all kinds. The SCP server is the component you install on a server where users connect to download and upload files. SCP servers exist for many platforms including Windows, Linus and MacOS. And today, we’re revealing the best free SCP servers for Windows, Linux, and macOS.
Today, we’ll begin our discussion with an overview of SCP, what it is, where it’s coming from and for what purpose it can be used. Then, we’ll go over the best SCP servers we’ve found for the three major platforms used by system admins, Windows, Linux, and MacOS.
SCP In A Nutshell
SCP refers both to a protocol and to the actual apps that use copy files using it. It based on the BSD RCP protocol, sued for file transfers between hosts on a network. SCP uses the Secure Shell (SSH) protocol for data transfer and uses the same mechanisms for authentication. This ensures the authenticity and confidentiality of the transferred data.
A client can upload files to a server, optionally including some of their attributes such as permissions and timestamps. A client can also download files or directories from a server. One important limitation of SCP is that it only handles file transfers. Unlike more advanced protocols–like FTP, for instance–SCP down not provide directory listing or navigation capabilities.
Typical uses for SCP
SCP is typically used every time a file needs to be transferred over a non-secure channel, such as the Internet. The client is essentially command-line based are requires the username to be specified along with the hostname. It is usually invoked using a syntax such as:
scp SourceFile user@host:directory/TargetFile
This command will copy the local SourceFile to the remote server. To copy files from the remote server to the local host, the command looks like this:
scp user@host:directory/SourceFile TargetFile
SCP is often used to copy files such as configuration files or firmware updates to networking equipment and many include an SCP client as part of their Operating System.
The Best SCP Servers For Windows
With Windows being the most-used Operating System, it’s no surprise that there are numerous SCP servers that run on the platform. We’ve searched the Internet to find the very best SCP server software. But since SCP is just an extension of SSH, all but one of our recommended SCP servers are actually SSH servers.
1. SolarWinds SFTP/SCP server (FREE Download)
SolarWinds makes some of the best tools for network management. Their comprehensive offering includes tools for pretty much every net admin task one can think of. But one of the greatest things about SolarWinds–apart from the fact that they have free trials of all their tools–is that they also offer several free tools.
One such tool is the SolarWinds free SFTP/SCP server. You can download the tool completely FREE, from here. The server runs as a Windows service. Its operation should, therefore, be easy for any seasoned Windows sysadmin. But even if you’re new to this, the user interface is easy enough to figure that you should be very comfortable.
SCP, like its cousin SSH, originates from the Unix world. But, unlike most Linux implementation, the SolarWinds server does not rely on system accounts. Instead, it uses virtual users which are user accounts that you create within the application for the purpose of copying files. Since the user accounts don’t actually exist on the host system–or on the network–it provides heightened security. In the unlikely event that an account was compromised, it couldn’t be used to log into the system directly.
The SolarWinds SFTP/SCP server can be used to securely transfer OS images and firmware updates as well as device configuration or backup files of up to 4GB. Among the most interesting features of the product, it can handle concurrent transfers from multiple devices and you can also authorize specific IP addresses or address ranges.
2. Bitvise SSH Server
Both SCP and SFTP are protocols that make use of the SSH protocol to secure file transfers. And for that reason, the bitwise SSH server supports the two file transfer protocols in addition to the Secure Shell.
Like the SolarWinds server, Bitwise’s use virtual accounts or accounts created within the application and out of the operating system or Active Directory Domain. But the Bitwise server also allows the use of Windows system accounts. This way, you get the best of both worlds. AD or Windows users can connect using their credentials while virtual accounts let you give ad-hoc access to external resources.
The Bitvise server has a few interesting features, For instance, you can restrict connections to SCP only, making it a true SCP server. But the real reason why this is good is that of the better security it offers. In standard Unix SCP implementations, having SCP access often inherently implies having SSH access as well. This doesn’t matter much in the Unix world due to the OS built-in account level security. But things are different in the Windows world where giving SSH access could mean permitting unauthorized Power Shell execution. This is why the Bitvise server supports the ability to allow SCP access while forbidding shell access.
One word of caution about the Bitwise server: It’s only free for personal use. If you want to use it in a commercial or professional context, you’ll have to purchase a license.
The “d” in FreeSSHd stands for Daemon. If you’re coming from Unix background, this is certainly a familiar term. But if you’re background is Windows, a Deamon is, in the Unix world, the equivalent of a Windows service. It a piece of software that runs in the background to provide a specific service.
As for the Free in FreeSSHd, we don’t know if t stands for free as in no-cost or free as in open-source. The lack of any source code download section on the official site lets s suspect it is the former. Talking about the site, it looks like it hasn’t been updated for a few years. Yet, FreeSSHd is still widely used. Oddly enough, the latest FreeSSHd version announcement on the site is version 1.2.2 but the download section proposes 1.3.1. We guess the developer doesn’t have the time to maintain an up-to-date website anymore.
One of the best features of FreeSSHd is that it will run on almost any version of Windows. It’s OS requirement is Windows NT 4 or newer. We sincerely doubt that there are still older versions of Windows in operation today.
Other amazing features of the product include its very small memory and resource footprint. Also worth mentioning are the support for virtual users and an easy-to-use GUI interface where you can monitor or start and stop the service.
4. OpenSSH For Windows
OpenSSH was originally part of the Open BSD operating system, when it was released, back in 1999. It is kind of the “ancestor” of most SSH servers. OpenSSH is really a suite of tools of some 10 tools rather than a single piece of software. However, OpenSSH is the core of the suite and the component that does most of the hard work. And with SCP being so closely tied to SSH, the OpenSSH server also handles SCP and SFTP.
Although it originates in the Unix world, the design of the software allowed it to be easily ported to other operating systems, making OpenSSH one of the most-used SSH and SCP server.
As for the Microsoft OpenSSH server, it is one of the most recent ports of the software package and it is still under development. A pre-release version is available here. But be aware that this is a pre-release version and, as such, the installation process is not as polished as could be. It will likely require some knowledge of Windows system administration and Power Shell skills to get it installed and working.
And don’t let the fact that this is a pre-release turn you off. Given its background, chances are that it will become THE standard SCP server of the Windows scene, just as it is for other operating systems.
As for the functionality, in the true tradition of Unix utilities, this is mostly a command-line based utility. Don’t expect to find a nice GUI, like you’d see in some other popular Windows net admin utilities.
The Best SCP Servers For Linux
As we’ve already established, SCP was born in the Unix world. And with Linux being the most common Unix-like OS you can find, it’s no wonder that a few great SCP packages are available for the platform. Then again, Linux is not quite as popular as Windows so there are possibly not as many Linux SCP server as there are for Windows.
Our first contender is the same OpenSSH as we’ve just discussed in the Windows SCP server section. It is, in a way, the grandparent of all SSH servers. It’s been here for what could be considered ages in computer-evolution years.
And the best thing about this is that it comes standard with most Linux distributions. It might not be running by default or it may not be installed but it most definitely is available. In most instances, all you’ll have to do is start the OpenSSH daemon. DOing so will allow SSH connections and, consequently, allow SCP file copies as well.
It’s easy to check if openssh-server–that’s the name of the actual SSH server–is available on your system. All you have to do is run a simple command.
$ apt-cache search openssh-server
That command should return:
openssh-server - secure shell (SSH) server, for secure access from remote machines
This confirms the availability of the OpenSSH server component. To install it, you just need to run your package manager’s install command.
$ apt-get install openssh-server
These commands will work on any distribution that uses the apt package tool such as Debian and its derivatives, including Ubuntu. If your distribution uses a different package manager, you’ll need to use the package’s specific commands.
Once it’s running, the server will let existing system users use an SCP client to copy files to and from directories where they have write and read permission, respectively. By default, files will be located in the user’s home directory. Some tweaking could be necessary to have users copy files to other places without having to specify a complete path.
2. Dropbear SSH
Dropbear SSH is yet another open-source SSH and SCP server and client. Its main characteristic is a small footprint that makes it ideal for limited resources applications. Dropbear SSH is mainly targeting embedded systems such as routers or other equipment that could need SSH and SCP functionality. It runs on several Unix-style operating systems and can be tweaked to run on most POSIX-compliant platforms.
Dropbear SSH is actively developed by Matt Johnson and the latest release is less than two months old as of this writing. Among the product’s most interesting features is the possibility to compile the software into a statically-linked executable file of just 110kB. The software is compatible with the OpenSSH ~/.ssh/authorized_keys public key authentication. The daemon can be run from inetd at startup or be used in a standalone fashion. And finally, features can be easily enabled or disabled at compilation, creating an even smaller executable with only the required features.
All this flexibility comes at a price, though. CUstomizing Dropbear to one’s specific needs will take advanced sysadmin skills. system administrators will need to be familiar with concepts such as modifying the makefile and recompiling the executable. But if you have the required competencies and require a small SSH and SCP server that can run on your embedded device, Dropbear SSH is certainly worth looking at.
3. A Word About Cygwin
Perhaps you’ve heard of Cygwin before. It is an open-source project which aims to provide a Windows DLL that implements a large number of POSIX API functions. Concretely, it means that any Linux open-source application could be recompiled to use Cygwin and, consequently, run on a Windows-based platform.
If you’re a Windows system administrator and have never heard of Cygwin, you might want to get familiar with it and perhaps install it on a Windows computer and see for yourself what it is all about. It is not perfect and it won’t turn your Windows server into a Unix machine but it will give you access to a broader array of options when it comes to system administration software and tools.
This is why we’re taking a minute or two to talk about Cygwin. With so many SSH and SCP servers available for Linux–we’ve only mentioned a couple of the best ones but there are countless others–it’s nice to know that Cygwin could allow them to run on a Windows platform. In fact, many Linux utility software is available as a Cygwin package, along with packages for other popular Linux distributions.
The macOS SSH Server
Although the general public might not be aware of that, macOS is another Unix-like operating system. However, contrary to most Unix-like systems–and Linux in particular–MacOS uses a different type of kernel which is a hybrid of a monolithic kernel–like Linux’s–and a microkernel architecture.
Because of these Unix roots, it’s no surprise that support for SSH–which also include support for SCP–is a native feature of macOS. As with most Linux distributions, the SSH functionality is not enabled by default in nacOS but enabling it is very easy.
All you have to do to enable SSH on a macOS computer is to go to System Preferences then launch the Sharing Applet and enable the Remote Login option. Doing that enables SSH for all of the computer’s users. And like most SSH software built into an operating system, file and directory permissions will dictate what users can copy to and from the server.
There’s nothing more to the macOS SCP server. You just enable SSH and it works. There’s no control panel or settings section. There are no virtual accounts either. Only system accounts are allowed to connect. It’s pretty basic but, it’s there, it’s free, and it gets the job done. Unless you absolutely need more functionality, it’s a great server to use.
No matter what the reason is for using an SCP server, we’ve shown you that there are multiple choices, regardless of the operating system you might be running. And although there are many more options available, those we’ve told you about are the best free SCP servers for Windows, Linux, and macOS built-in SSH.
What is your favourite SCP server? Is it one of the few we just introduced? What do you like the most about it? Use the comments below to share your experience with us.