README.md in ssh_tunnels-0.1.1 vs README.md in ssh_tunnels-0.2.0

- old
+ new

@@ -1,9 +1,11 @@ # SshTunnels -Interactive _SSH_ tunnel management. +Interactive _SSH_ tunnel management. Console UI powered by [ncurses](https://invisible-island.net/ncurses/). +![example](doc/demo.png) + ## Installation ```bash gem install ssh_tunnels ``` @@ -12,24 +14,75 @@ ```bash ssh_tunnels -c config.yml ``` +Alternatively, default to using `~/.ssh_tunnels.yml` for configuration: + +```bash +ssh_tunnels +``` + ## Configuration +### Gateways + +There are two ways to configure an SSH gateway. Both can be used together, but at least one must be defined: + +1. Define a `default_gateway` section in your configuration file. +1. Define a `gateways` section in your conifguration file. + +The `default_gateway` is a map containing these keys: + +* `host`: hostname or IP address of gateway (required). +* `port`: SSH port on gateway (default: `22`). +* `user`: Username on gateway to connect with (default: `$USER`). + +The `gateways` section is also a map, but each key represents a named gateway, and each gateway is configured using the same parameters as `default_gateway`. + +Each named gateway can be referred to in the `gateway` field for each tunnel. + ```yaml # config.yml -gateway: +default_gateway: host: gateway.example.com - port: 22 +gateways: + aws: + host: 111.111.111.111 + user: ubuntu + azure: + host: 222.222.222.222 + user: william +``` + +### Tunnels + +The `tunnels` section is a map where each key represents a named tunnel. Each tunnel can be configured using the following parameters: + +* `host`: The remote host to connect to from the gateway. +* `remote`: The remote port to use for forwarding. +* `local`: The local port to bind to (defaults to the `remote` port). + +```yaml +# config.yml + +default_gateway: + host: gateway.example.com + +gateways: + aws: + host: 111.111.111.111 + user: ubuntu + tunnels: my_host: local: 1234 host: my.host.example.com remote: 4567 other_host: + gateway: aws local: 1111 host: other.host.example.com remote: 5555 ```