GlyNet Shell (gsh) is a lightweight terminal tool designed to simplify SSH management across multiple servers, especially when using firewall restrictions and jump servers.
The idea started when I deployed CSF firewall on all servers and restricted SSH access to specific trusted IP ranges. Since I connect from multiple platforms and most free SSH managers don’t properly sync configurations, I built gsh.
gsh helps you centralize SSH management through a single intermediary server (jump server / bastion host model).
-
Simple SSH host management (add / update / remove)
-
Auto SSH config management
-
Optional hostname → fresh IP resolving before connect (useful for DNS/CDN / Anycast)
-
Secure backup of:
~/.ssh~/bin
-
Encrypted ZIP backups
-
Optional Telegram backup upload
-
Designed for jump server workflows
-
Zero database / zero daemon — pure bash
curl -fsSL https://raw.githubusercontent.com/s7net/GlyNet-Shell/refs/heads/main/install-gsh.sh | bashor
wget -qO- https://raw.githubusercontent.com/s7net/GlyNet-Shell/refs/heads/main/install-gsh.sh | bashIf you are root:
/usr/local/bin/gsh
If you are normal user:
~/bin/gsh
Also installs:
~/.ssh/.gsh.env
Main config file:
~/.ssh/.gsh.env
You can edit values manually or run:
gsh initgsh add server-namegsh server-namegsh update server-namegsh rm server-namegsh lsgsh sortgsh backupCreates encrypted backup of:
- SSH keys
- SSH config
- gsh config
- bin tools
gsh restore backup.zip.gsh.envstored withchmod 600.sshenforced as700- Backup ZIP supports password encryption
- No telemetry
- No background services
Perfect for:
- Jump server environments
- Bastion SSH architectures
- Teams managing multiple nodes
- Users with restricted firewall SSH access
- DevOps / Infra engineers
Usually preinstalled on most Linux systems:
- bash
- ssh
- curl or wget
- zip or 7z (for backup)
Main binary:
gsh
Default config template:
.gsh.env
Installer:
install-gsh.sh
Because SSH management should be:
- Simple
- Syncable
- Scriptable
- Portable
- Secure