Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bjerkins/docker-tunlr
ssh tunneling made easy.
https://github.com/bjerkins/docker-tunlr
autossh autossh-tunnel-server cli ssh tunneling
Last synced: about 1 month ago
JSON representation
ssh tunneling made easy.
- Host: GitHub
- URL: https://github.com/bjerkins/docker-tunlr
- Owner: bjerkins
- Created: 2018-12-06T08:16:42.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-06T21:18:39.000Z (about 6 years ago)
- Last Synced: 2024-07-31T07:18:19.200Z (4 months ago)
- Topics: autossh, autossh-tunnel-server, cli, ssh, tunneling
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome - docker-tunlr - ssh tunneling made easy. (JavaScript)
README
# Tunlr (beta)
> ssh tunneling made easy.Tunlr is all about setting up tunnels to your services running on internal networks via a jumphost using a elegant CLI:
```sh
tunlr $ connect
? Choose a service: (Use arrow keys)
❯ grafana
mssql-database
```It uses `autossh` in the background which ensures your connection is kept steady.
## Configuration
Tunlr uses `tunlr.json` to list and connect to your services. Example:
```json
[
{
"id": 10000,
"name": "grafana",
"host": "tools-server",
"portLocal": 3002,
"portRemote": 80
},
{
"id": 20000,
"name": "mssql-database",
"host": "database-server",
"portLocal": 1433,
"portRemote": 1433
}
]
```> Note: The `id` is used internally as monitoring port for `autossh`.
## Running in Docker (Recommended)
Using Docker makes it super easy to get up and running with the CLI. Given the example configuration here above:
```sh
$ docker run --rm -p 1433:1433 -p 3002:3002 -v ~/.ssh/:/root/ssh:ro -it bjerkins/tunlr
```The internal `ssh` config file includes all config files under `conf.d` at the mounted path. This is convenient as to not mix your local configuration with the internal one.
Example of ssh configuration:
```sh
$ cat ~/.ssh/conf.d/config-awsHost jumphost
User username
HostName the.jumphost.server.address
IdentityFile ~/.ssh/key.fileHost database-server
User username
HostName the.database.server.address
IdentityFile ~/.ssh/key.file
ProxyJump jumphostHost tools-server
User username
HostName the.tools.server.address
IdentityFile ~/.ssh/key.file
ProxyJump jumphost
```