1. Introduction
Secure Copy Protocol (SCP) is a secure method for transferring files between computers over a network, ensuring data integrity and confidentiality. In Windows, WinSCP is a user-friendly application that implements the SCP protocol, allowing the convenient and safe transfer of files between computers through a graphical interface, making the process fairly efficient and accessible.
In this tutorial, we’ll explore Linux alternatives to WinSCP considering ways to navigate, open, edit, and manage remote files just like local ones.
2. Using SSH Filesystem
The Secure SHell FileSystem or SSHFS is a tool that allows us to mount a remote filesystem on the local machine securely over SSH. Hence, it enables us to access and interact with remote files as if they were part of the local filesystem.
First, let’s install SSHFS via apt-get:
$ sudo apt-get install sshfs
Once installed, we can use the sshfs command:
$ sudo sshfs username@remote_server_address:/remote_directory /local_mount_point
The use of sudo guarantees the accurate and complete execution of the command.
Here’s an example of mounting a remote SSH filesystem on the local machine:
$ sudo sshfs -o allow_other [email protected]:/var /mnt/remote
In this example, we used -o allow_other to allow other users to access the mounted filesystem. Moreover, we used [email protected]:/var to specify the username, remote hostname or IP address, and the remote directory. Lastly, /mnt/remote specifies the local mount point.
Now, let’s check the mounted remote directory via ls:
$ ls -l /mnt/remote/
total 48
drwxr-xr-x 1 root root 10 Nov 5 2022 account
drwxr-xr-x 1 root root 0 Aug 9 2022 adm
drwxr-xr-x 1 root root 220 Mar 9 03:07 cache
drwxr-xr-x 1 root root 0 Aug 3 2022 crash
...
As we can see, once the remote filesystem is mounted, we can use the file manager or command-line tools to seamlessly navigate, open, edit, and manage the remote files.
3. Using Nautilus
Nautilus is the default file manager for the GNOME desktop environment in Linux. While Nautilus isn’t a dedicated file transfer client like WinSCP, it provides basic capabilities for accessing and transferring files between local and remote systems using protocols like SSH File Transfer Protocol (SFTP).
Let’s explore the steps for using Nautilus to connect to a remote server:
- Open Nautilus (File Manager)
- Click Other Locations from the sidebar
- Click Connect to Server
- Type the associated URI for connecting to the remote server
- Hit Connect Button
- Enter the username and password when prompted
Once connected, we have access to the remote machine files:
Here, we used sftp:// to employ the SFTP protocol. We can also use SMB, NFS, FTP, FTPS, and other supported protocols similarly.
Notably, Nautilus doesn’t support transfer queues, file synchronization, and directory comparison but works for rudimentary transfers.
4. Using Dolphin
Dolphin is the default file manager in many Linux distributions that use the KDE Plasma desktop environment. Moreover, Dolphin is available for other desktop environments such as GNOME and Cinnamon.
Indeed, we can use Dolphin for transferring files between a local computer and a remote server.
Let’s see the steps for leveraging Dolphin as a remote file manager:
- Open Dolphin
- Select Network from the sidebar under remote group
- Select Add Network Folder from the top side of the dialogue
- Select one of the desired types of network directories (WebFolder, FTP, Microsoft Windows network drive, Secure Shell and press the Next button
- Enter a name for this connection as well as a server address, port, and folder path to use, then press the Save & Connect button
Let’s take a look at Network Folder Wizard in Dolphin:
Then, we enter the prompted password. Next, we have the connected directory in a new tab on the current window.
Notably, resuming interrupted transfers, synchronization, file comparison, and file merging aren’t supported by Dolphin.
5. Using FileZilla
FileZilla is a user-friendly graphical SFTP, FTP, and FTPS client for Linux, that allows us to securely transfer files between the local machine and remote servers.
FileZilla offers many advanced features for remote file management and transfer such as transfer queue management, directory comparison, and custom commands.
First, let’s install FileZilla:
$ sudo apt-get install filezilla
Then, we’ll launch FileZilla and see how to use it for file transferring:
- Select the Site Manager from the File menu or press Ctrl+S
- Hit the New Site button
- Set the protocol (SFTP or FTP)
- Set the host as the remote hostname or IP address
- Set the Logon Type (Anonymous, Normal, Ask for the password, interactive or key file)
- Hit the Connect button
Let’s see all fields in the Site Manager:
Once connected, we can use the FileZilla interface as an alternative to WinSCP. Optionally, we can set the default local directory and default remote directory in the Advanced tab.
6. Using gFTP
gFTP is a graphical Linux application for secure file transfers between local and remote computers using protocols like FTPS, FTP, and SSH2. gFTP offers a fairly straightforward interface with features like bookmarks and transfer queues.
First, let’s install gFTP:
$ sudo apt-get install gFTP
Then, we open gFTP and from the main menu, we select Remote > Open Location.
After that, the URL, username, and password will be prompted one by one:
Once connected, we can use the left and right panels to navigate local and remote directories. Of course, we can use features like bookmarks and transfer queues for efficient file management. Moreover, if we specify an editor in the Preferences, we can use the remote text editing feature.
7. Using Krusader
Krusader is a Linux file manager with a twin-panel interface, enabling efficient file operations and remote transfers via protocols like SFTP and FTPS. Krusader offers advanced features like synchronization, custom commands, and a terminal emulator for comprehensive file management.
First, let’s install Krusader:
$ sudo apt-get install krusader
Once we launch Krusader for the first time, some default settings such as diff utility, email client, and archive tools will be asked.
Then, we open New Net Connection under Tools in the main menu:
Now, we specify the protocol, hostname, port, username, and password. Further, Krusader provides various features such as copy and move queues, archiving, split files, combine files, internal editors, synchronization, and file comparisons.
8. Using Nemo
Nemo is the default file manager for Cinnamon desktop environments, but it can be installed on other Linux desktops as well. Nemo offers a user-friendly interface for managing files, supporting SFTP for remote connections, and providing features like tabs and bookmarks.
Let’s install Nemo first:
$ sudo apt-get install nemo
Once installed, we’ll open Nemo and then open Connect to Server under File in the main menu:
Now, we’ll fill server, port, type, destination folder, username, and password. Then, after connecting to the server, we can transfer files between the local machine and remote systems.
Notably, Nemo doesn’t offer some advanced features such as synchronization, file comparison, and merging. Hence, we might need to consider using Nemo in combination with command-line tools for more specialized tasks.
9. Conclusion
In this article, we’ve delved into a range of Linux alternatives that simplify remote file management, offering solutions similar to Windows tools like WinSCP.
From the seamless file integration of SSHFS to the intuitive interfaces of Nautilus, Dolphin, FileZilla, gFTP, Krusader, and Nemo, we’ve explored a diverse toolset. These tools offer streamlined functionalities, enhancing the Linux experience for smoother and more effective file management.