Welcome to MountWizard! An intuitive tool for managing the mounting and unmounting of remote file systems using SSHFS, all through a user-friendly dialog interface.
MountWizard is a Bash script designed to simplify the process of mounting and unmounting remote file systems. With an interactive interface, you can add, remove, mount, and unmount remote machines effortlessly, eliminating the need to remember complex commands.
- Interactive Interface: Utilizes dialog to provide a user-friendly and navigable interface.
- Machine Management: Easily add and remove remote machines.
- Mounting and Unmounting: Mount and unmount remote file systems with just a few clicks.
- Enhanced Security: Securely prompts for passwords, displaying asterisks as you type.
- Data Validation: Checks the validity of entered IP addresses and ports.
- Real-Time Feedback: Displays success or error messages during operations.
Follow these steps to install and set up MountWizard on your system:
Clone the repository or download the script directly:
git clone https://github.com/manwolframio/MountWizard.git
cd MountWizardchmod +x mountwizard.shsshfs: To mount remote file systems.dialog: For the user interface.
On Debian/Ubuntu-based systems:
sudo apt-get update
sudo apt-get install sshfs dialogOn RedHat/Fedora-based systems:
sudo dnf install sshfs dialogEnsure your user is part of the fuse group:
sudo usermod -a -G fuse $USERLog out and log back in for the changes to take effect.
Run the script from the terminal:
./mountwizard.shYou will be presented with a menu featuring the following options:
- Mount Machines
- Add New Machine
- Delete Machine
- Unmount Machines
- Exit
To add a new machine:
- Select "Add New Machine" from the main menu.
- Enter the name you wish to assign to the machine.
- Provide the machine's IP address.
- Enter the SSH port (default is 22).
- Specify the username for the connection.
The machine will be added to your list and will be available for mounting.
To mount machines:
- Select "Mount Machines".
- Check the machines you wish to mount from the presented list.
- Enter the password when prompted (asterisks will be displayed as you type).
- The script will mount the selected machines and inform you of the results.
Remote file systems will be mounted in your `$HOME` directory under the assigned machine names.
To unmount machines:
- Select "Unmount Machines".
- Check the mounted machines you wish to unmount.
- The script will proceed to unmount them and confirm the action.
To remove machines from your list:
- Select "Delete Machine".
- Check the machines you wish to delete.
- Confirm the action, and the machines will be removed from your list.
-
Mounting Remote File Systems
- Description: Mount remote file systems using SSHFS with ease.
- Details:
- Securely prompts for the password, displaying asterisks as you type.
- Displays success or error messages using dialog.
- Creates mount points in your `$HOME` directory using the machine name.
-
Unmounting File Systems
- Description: Unmount previously mounted file systems.
- Details:
- Detects file systems mounted with SSHFS in your `$HOME` directory.
- Allows you to select multiple mounts to unmount simultaneously.
-
Machine Management
- Add Machine:
- Validates that the IP address and port are correct.
- Stores information in a `machines.txt` file.
- Delete Machine:
- Displays a list of registered machines.
- Enables you to delete multiple machines simultaneously.
- Add Machine:
-
User-Friendly Interface
- Description: All interactions are handled through intuitive dialog boxes.
- Details:
- Utilizes dialog to offer a simple and visually pleasing user interface.
- Clearly displays messages and errors for an improved user experience.
- Security: It's recommended to use SSH key-based authentication for enhanced security. If you use SSH keys, you can modify the script to skip the password prompt.
- Configuration Files: Machine information is stored in the `machines.txt` file. Ensure to keep this file in a secure location.
Contributions are welcome! If you have suggestions, encounter issues, or wish to add new features, please open an issue or submit a pull request on the project's repository.