SSH connections in your terminal. Add servers once, connect with a couple of keystrokes.
| NAME | HOST | USER | PORT | SHORTCUT | DESCRIPTION |
| prod | 192.168.1.10 | ubuntu | 22 | prod | Production |
| db | db.example.com | deploy | 22 | db | Database |
| staging | 10.0.0.5 | admin | 22 | stg | Staging server |
| backup | backup.local | root | 22 | bak | Backups |
| jump | jump.company.com | jumper | 22 | — | Bastion host |
No need to remember hostnames, users, or key paths. Run
sshelf, pick a server, press Enter. Or use
shortcuts: sshelf prod, sshelf db.
brew tap khamdokhov/sshelf https://gitverse.ru/khamdokhov/homebrew-sshelf brew install sshelf
git clone https://gitverse.ru/khamdokhov/sshelf.git && cd sshelf go build -o sshelf . mv sshelf /usr/local/bin/
sshelf
Connections are stored in a single JSON file. The directory is created on first save. You can edit it by hand, back it up, or put it in Dropbox/iCloud/git and symlink.
| OS | Path |
|---|---|
| macOS / Linux | ~/.config/sshelf/connections.json |
| Windows | %AppData%\sshelf\connections.json |
Example connections.json:
{
"version": "1",
"connections": [
{
"name": "prod",
"user": "ubuntu",
"host": "192.168.1.10",
"shortcut": "prod"
}
]
}
ssh in PATH. That's it.