A modern, feature-rich SSH client with a graphical user interface built using CustomTkinter and Paramiko. This client provides a seamless and secure way to manage multiple SSH connections with an intuitive interface.
🔐 Security
- Secure password storage with encryption
- SSH key authentication support
- Auto-adding of host keys
🎨 User Interface
- Modern and intuitive graphical interface
- Dark and light theme support
- Customizable terminal font and size
- Multiple terminal tabs
🔄 Session Management
- Save and organize multiple SSH connections
- Import/Export session configurations
- Search functionality for saved sessions
- Command history navigation
⌨️ Advanced Features
- Keyboard shortcuts for quick navigation
- Real-time terminal output
- Session persistence
- Error handling and recovery
- Python 3.7+
- Dependencies (see
requirements.txt):- paramiko (SSH protocol)
- customtkinter (Modern UI)
- cryptography (Encryption)
- pytermgui (Terminal handling)
- Clone this repository:
git clone https://github.com/OwaisSafa/SSH-Client.git
cd SSH-Client- Install the required dependencies:
pip install -r requirements.txtpython main.py- Click on "File" → "New Session" or use
Ctrl+N - Enter the session details:
- 📝 Session name
- 🌐 Hostname
- 👤 Username
- 🔒 Password (optional)
- 🔑 SSH key file (optional)
- 🔌 Port (default: 22)
- Press
F11for fullscreen mode - Use
Up/Downarrows to navigate command history - Press
Ctrl+Lto clear terminal - Use
Ctrl+Fto search sessions
- 🔐 All sensitive data is encrypted using Fernet encryption
- 🔑 Support for both password and SSH key authentication
- 🛡️ Secure storage of connection details
- 🔄 Automatic session timeout handling
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions, please:
- Check the existing issues
- Create a new issue with a detailed description
- Include steps to reproduce the problem
Made with ❤️ by Owais Safa