A simple but powerful GUI for forwarding ports over SSH. Inspired by VSCode's Remote SSH port forwarding, but without needing a new IDE window for each remote machine.
Features:
- Connect to hosts given in
~/.ssh/config
file - Favicons!
- Open a remote in a terminal or VSCode
- Convenient shortcuts to mount with SSHFS and view nvidia-smi on GPU machines
TODO:
- Support password and other auth besides public key [if ssh-askpass works]
- Open a terminal on the given remote
- Ability to refresh the connections and close existing ones
- Check when connections die [kinda]
- Don't hang when something goes wrong 🙃
- Mount a remote with sshfs
- Show #gpus?
- Forward a port that is not listed
- Connect to hosts with a wildcard in ssh config
It should work on MacOS and Linux with npm installed (eg. brew install node
if you use homebrew)
git clone https://github.com/jamt9000/AwesomePortForwarding/
cd AwesomePortForwarding
npm install
./launch.sh # or `npm start` to run with debug output in the terminal
Requires nc
and ssh
(from OpenSSH) on the local machine and lsof
or netstat
on the remote machines.
How can I use iTerm2 instead of Terminal.app as the terminal launched on Mac?
You should set iTerm2 as the default handler for the SSH protocolCat icon by Freepik from www.flaticon.com