My-SSH is a powerful, secure, and user-friendly CLI tool for managing SSH connections. Built with Laravel Zero, it simplifies your workflow by organizing hosts, users, and connection details in one place.
- 🚀 Fast & Intuitive: Connect to your servers with a single command.
- 🔒 Secure: All sensitive data (passwords) is encrypted using AES-256-CBC with a unique key per installation.
- 📂 Organized: Manage multiple hosts and users effortlessly.
- ⚡️ Quick Actions: fast arguments support for rapid management.
You can easily install My-SSH using Homebrew.
brew tap alwoodm/tap
brew install mysshAlternatively, you can download the latest binary from the Releases page.
# Move the binary to your path
mv myssh /usr/local/bin/myssh
chmod +x /usr/local/bin/mysshAdd a new host to your inventory:
myssh host:addList all available hosts:
myssh host:listEdit an existing host:
myssh host:edit <alias>Remove a host:
myssh host:delete <alias>Add a user to a specific host:
myssh user:add <host_alias>Remove a user from a host:
myssh user:delete <host_alias> <username>Connect to a host using its alias. If multiple users are defined, you will be prompted to select one.
myssh connect <alias>
# or simply
myssh <alias>myssh list: Show all available commands.
Your data is stored locally in ~/.myssh/database.sqlite.
A unique encryption key is generated on first run and stored in ~/.myssh/.key.
Keep this key safe! Without it, your encrypted passwords cannot be recovered.
If you want to contribute or run the project locally, feel free to fork this repository or create a new branch.
-
Clone the repository:
git clone https://github.com/alwoodm/my-ssh.git cd my-ssh -
Install dependencies:
composer install
-
Setup environment:
cp .env.example .env touch database/database.sqlite php myssh key:generate
-
Run the application:
php myssh list
My-SSH is open-sourced software licensed under the MIT license.