Simple tool to quickly connect to favorite servers, including creation of SSH tunnels.
This project is very much in it’s initial, experimental phase. Use at your own risk.
Portal provides following set of features that one could find useful:
- Bookmark-like feature for SSH connections - simply run
portal connect <name>
- Support for complex connections such as multi-hop SSH tunnels
- Support for connections with AWS EC2 Instance Connect by temporarily pushing SSH key to the instance
- Provides (potentially )useful hints upon established connection, e.g what ports are being forwarded
Configuration file is looked for at
--- debug: false default-public-key: ~/.ssh/id_rsa.pub default-private-key: ~/.ssh/id_rsa # List of all known destinations portals: # Tunnel - name: server1.tunnel hint: Port 3000 raw: command: ssh -L 3000:localhost:8080 firstname.lastname@example.org # Direct connection - name: server.prod.bastion raw: command: ssh -A email@example.com # Double tunnel - name: server.prod.tunnel hint: Local 33333 -> 12345 @ backend.dot.ip via bastion.dot.ip raw: command: ssh -L 33333:localhost:33333 -A firstname.lastname@example.org ssh -L 33333:localhost:12345 -A email@example.com # AWS EC2 Instance Connect - name: aws.host aws: instance-id: i-1234abcd region: us-west-1 user: ec2-user
- Get all available connections:
- Connect to a server:
portal connect <name>where
<name>is the favorite name
See separate TODO document for what is planned.
make all or
make build-in-docker if you have Docker installed
MIT license, as described in the LICENSE file.