SFTP is a network protocol that accesses, transfers, and manages your data over a secure data stream. SFTP stands for SSH File Transfer Protocol, and unlike ordinary FTP technologies, connects your device to remote hosts and servers over a secure network.
SSH, Secure Shell, or Secure Socket Shell, creates a secure tunnel for remote systems to communicate over an open network, like the internet. Utilities that implement SSH protocols provide a strong password and public key authentication and encrypted data access.
Thus, data transferred over an SFTP are encrypted end-to-end and can’t be redirected, sniffed, or stolen in transit.
However, managing remote files with SFTP takes a little getting used to. It usually involves some knowledge of command-line scripts.
Common SFTP Use Cases
SSH File Transfer Protocol’s primary use is to manage data on a remote host, most likely a cloud hosting server, from a local computer and over the internet.
So, you can:
- Transfer files across local remote systems. Create an SSH server on the remote machine, and you can access your data from other computers. This will eliminate the need for a USB device, or other transfer devices, which may become corrupted with use or even from the manufacturer.
- Manage a network of remote computers. Network admins use SFTPs to connect across servers, manage multiple terminals in one network, perform uploads, and backup system data.
- Share sensitive sign-on information. Share IDs and login passwords over SFTP instead of unsecured emails and FTP.
- Share, transfer or store client data over the cloud/internet. Don’t store sensitive data in the DMZ or transfer using emails and FTPs. Use SFTP to secure all your communication with the right permissions.
- Upload, retrieve, and manage files and scripts from local to cloud storage.
- Switch file remote hosting servers or Virtual Private Servers. Data storage on VPS is arguably more secure than shared hosting. However, migrating to another provider over an open network would expose your files to possible data theft.
How To Upload Files With SFTP On Windows
You need an SFTP client to transfer files between remote systems. SFTP tools use an SSH tunnel to establish a connection between the communicating systems.
SFTP connections can involve multiple systems simultaneously. To manage firewall compatibility, run all traffic on port 22.
SFTP processes are carried out using command line scripts. Type help on any SFTP utility terminal to list possible command codes.
However, a few SFTP clients have a graphic interface so you can use it without learning the command-line codes.
Popular SFTP Clients You can Use.
Here are the most common and ease-to-use SFTP clients that will enable a secure connection to a remote server:
Connect to an SFTP Server On Windows With WinSCP
WinSCP is Microsoft’s free and open-source FTP, Amazon S3, SCP, SFTP, and WebDAV client for Windows.
Download either of the Win x32 or X64 bt compatible versions to run on Windows 8.1 or Windows 10 OS. Install to use as a Commander or Explorer.
- Run WinSCP for the first time or start a new session; a login dialog will appear. Select SFTP, Amazon S3, SCP, FTP, or WebDAV as file protocol depending on the server you’re connecting to.
- Enter the hostname of the server you want to connect to in the “Host name” field.
- In the “User name” field, enter your username for the host you specified.
- Type in the password associated with your username.
- Login to connect.
The WinSCP window will display your local directories on the left and the remote directories on the right in a Norton-like interface.
Connect to an SFTP Server On Windows With PuTTY
If you’re more comfortable with a command-line interface, use the SFTP utility on PuTTY’s application suite to connect to your remote server.
PuTTY SFTP, or PSFTP, is a simple free and open-source SFTP application that enables secure file transfer using command-line codes.
- On the PSFTP command window, run the open [host name] command next to the psftp> prompt. Use the name of the host you’re connecting to, like open lms.acefuels-futo.org.
- If you’ve set up and saved this server configuration before, it’ll open up immediately. If not, type y for the Store key in cache? prompt and continue to login.
- Enter your username for the remote server next to the login prompt. When prompted, enter your password to connect.
Upload Files With SFTP Using WinSCP
Explore files from your remote directory on the WinSCP graphical interface. Drag files from your local directory and drop them on the folder on your remote server to which you want to copy them.
Upload Files With SFTP Using PuTTY SFTP
Explore your storage directories from your command window using the cd and lcd commands for remote and local directories, respectively. List the content of your current working directory using the dir and !dir commands for remote and local systems, respectively.
Upload files from your local machine to a remote server using the following steps:
- Use the lcd command to navigate to the right local directory.
- Navigate to the remote directory to which you want to copy files using the cd command.
- Use put [file name] to paste the file onto the remote server. Type the name of the file you wish to copy to replace [file name].
To transfer files from a remote server to your local machine, use the get [file name] command after you navigate to the right local and remote directories.
Run the help command to see other codes for navigating your local and remote systems.
Uploading Files With SFTP From Other Systems
You can establish an SFTP connection with a remote server using macOS built-in Terminal Utility.
- Use the Spotlight tool to search for and open the Terminal utility.
- Type the Terminal command sftp [email@example.com] and enter. Replace [firstname.lastname@example.org] with your username and the name of the server you’re uploading to.
- When prompted, type in your password and enter to connect to your remoter storage.
You can also use the Cyberduck, Transmit, and PuTTY macOS X SFTP clients to upload files to a remote server from a local macOS machine.
Connecting to a remote server over an SFTP from the Linux Terminal requires the same process and commands as in macOS.
To establish an SFTP session on a custom port, use this command to change the access port from port 22 to any port you want to use:
sftp -oPort=[custom_port] username:[password]@remote_host_name
Or by specifying the recursive option using:
sftp -oPort=[custom_port] -r username:[password]@remote_host_name
For later built-in SFTP versions (from version 7.7), use this command:
sftp -oPort=[custom_port] -r sftp://username:[password]@remote_host_name
You can also connect to a remote server by specifying the server IP instead of a hostname. This is useful for connecting to a remote computer system with an SSH server created on it.
The right SFTP client will provide you a wider bandwidth than regular FTP or SCP utilities, which means unlimited file size and greater efficiency.
Besides the added security, SFTP tools also allow unlimited connections to a singular server, improving your business’s scalability through simultaneous and instant data access.
If you’d rather secure your data and protect your business, ScalaHosting is the world’s #1 rated cloud and web hosting provider by Trustpilot.