I’m looking for the best way to transfer files from my computer to another person’s computer.
We both use Windows and I can use some external programs like TeamViewer for file transfers but I found the speed lacking. So I tried to find some other means of transferring the data. On Linux this is so simple since you have
scp
andftp
and all that. But on Windows, there’s no such support; at least not natively.So I tried TeamViewer (but slow speeds), then there’s WinSCP but we would need to set up a server of some sort (
ssh daemon
?).PSCP doesn’t work either, it just gives me the error:
local to local transfer not supported.
FTP needs an FTP server too.
What other options are there? What’s a preferred method of transferring files?
I guess I could use BitTorrent technology but I would need tracker addresses. Of course, these aren’t that hard to find but is there really an equivalent for the Linux way of transferring files using command line options or something that allows client to client transfer of data easily and fast?
Solution:
Since version 1803, Windows 10 has OpenSSH for Windows built-in.
For older versions of Windows, you can install OpenSSH manually.
I have prepared a guide for setting up SSH/SFTP server on Windows using this Microsoft build of OpenSSH.
For FTP, you ca use the FTP server built into the IIS (web server). It’s not running by default. Note that you can use the IIS to setup an FTP server even without setting up a website.
When setting up the FTP server in the IIS, make sure you force TLS/SSL encryption (FTPS) and disallow anonymous authentication, for security.
See (my) guide on Installing Secure FTP Server on Windows using IIS.
Once you have the FTP(S) server set up, you can use any FTP client. Windows Explorer itself does support FTP(S). Though note that the Windows built-in command-line ftp.exe
client is useless as it does not support the TLS/SSL or a passive mode (so it can hardly connect though firewalls and NATs).