2.0.0 ⢠Published 10 months ago
@jay2503/ezssh v2.0.0
ezssh - Easy SSH Connection Manager
ezssh is a simple Node.js CLI tool that allows you to manage and quickly connect to SSH servers using an interactive menu.
⨠Features
- š Uses a JSON file (
~/.ezssh.json) to store SSH connection details. - š Lists available SSH connections in an interactive menu.
- ā¬ļøā¬ļø Allows selecting a connection using arrow keys.
- š Supports private key authentication (
.pemfiles). - š„ļø Automatically launches SSH upon selection.
- š Supports SSH tunnels for secure database and service connections.
- š” Interactive menu for tunnels to quickly establish port forwarding.
š„ Installation
npm install -g @jay2503/ezsshš ļø Setup
1ļøā£ Create Configuration File
Create a file named ~/.ezssh.json in your home directory and add your SSH connections and tunnels:
{
"connections": [
{
"name": "My Server Name",
"user": "ubuntu",
"host": "222.111.000.000",
"authKey": "~/Projects/ProjectName/keys/connection.pem"
}
],
"tunnels": [
{
"name": "Database Tunnel",
"localPort": 6000,
"remoteHost": "database.example.com",
"remotePort": 3306,
"authKey": "~/Projects/ProjectName/keys/db-tunnel.pem",
"user": "ec2-user",
"host": "222.000.111.000"
}
]
}š¹ Ensure your private key files have the correct permissions:
chmod 400 ~/Projects/ProjectName/keys/connection.pem
chmod 400 ~/Projects/ProjectName/keys/db-tunnel.pemš Usage
Connect to an SSH Server
ezsshThis will display an interactive menu listing all configured SSH connections. Select one, and it will automatically connect using SSH.
Establish an SSH Tunnel
ezssh tunnelsThis will display an interactive menu listing all configured SSH tunnels. Select one, and it will automatically establish the tunnel.
š Example Output
SSH Connection
? Select an SSH connection:
⯠My Server Name (ubuntu@222.111.000.000)
Connecting to My Server Name...
Welcome to Ubuntu 22.04 LTSSSH Tunnel
? Select an SSH tunnel:
⯠Database Tunnel (localhost:6000 ā database.example.com:3306)
Creating tunnel: localhost:6000 ā database.example.com:3306 via ec2-user@222.000.111.000Now, access the database locally:
mysql -h 127.0.0.1 -P 6000 -u your_user -pš Uninstall
To remove ezssh, run:
npm uninstall -g ezsshš License
MIT License
ā¤ļø Contributing
Feel free to open issues and contribute to the project!
Happy SSHing! š„ļøš