Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oefenweb/ansible-autossh-tunnel-client
Set up a persistent tunnel (using autossh) in Ubuntu systems (client side)
https://github.com/oefenweb/ansible-autossh-tunnel-client
ansible autossh client mysql ssh tunnel ubuntu
Last synced: about 1 month ago
JSON representation
Set up a persistent tunnel (using autossh) in Ubuntu systems (client side)
- Host: GitHub
- URL: https://github.com/oefenweb/ansible-autossh-tunnel-client
- Owner: Oefenweb
- License: mit
- Created: 2015-08-14T13:06:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-02T11:01:37.000Z (about 1 year ago)
- Last Synced: 2023-11-02T11:36:33.355Z (about 1 year ago)
- Topics: ansible, autossh, client, mysql, ssh, tunnel, ubuntu
- Language: Shell
- Homepage:
- Size: 123 KB
- Stars: 14
- Watchers: 6
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## autossh-tunnel-client
[![CI](https://github.com/Oefenweb/ansible-autossh-tunnel-client/workflows/CI/badge.svg)](https://github.com/Oefenweb/ansible-autossh-tunnel-client/actions?query=workflow%3ACI)
[![Ansible Galaxy](http://img.shields.io/badge/ansible--galaxy-autossh--tunnel--client-blue.svg)](https://galaxy.ansible.com/Oefenweb/autossh_tunnel_client)Set up a persistent tunnel (using `autossh`) in Ubuntu systems (client side).
#### Requirements
None
#### Variables
* `autossh_tunnel_client_autossh_debug`: [default: `1`]: If this variable is set, the logging level is set to `LOG_DEBUG`
* `autossh_tunnel_client_autossh_first_poll`: [default: `30`]: Specifies the time to wait before the first connection test
* `autossh_tunnel_client_autossh_gatetime`: [default: `0`]: Specifies how long ssh must be up before we consider it a successful connection. If it is set to `0`, then not only is the gatetime behaviour turned off, but autossh also ignores the first run failure of ssh
* `autossh_tunnel_client_autossh_loglevel`: [default: `7`]: Specifies the log level, corresponding to the levels used by syslog
* `autossh_tunnel_client_autossh_pidfile`: [default: `/var/run/autossh/autossh-tunnel-client.pid`]: Write pid to specified file
* `autossh_tunnel_client_autossh_poll`: [default: `60`]: Specifies the connection poll time in seconds* `autossh_tunnel_client_key_map`: [default: `[]`]: SSH key declarations
* `autossh_tunnel_client_key_map.{n}.src`: [required]: The local path of the file to copy, can be absolute or relative (e.g. `../../../files/autossh-tunnel-client/etc/autossh/id_rsa`)
* `autossh_tunnel_client_key_map.{n}.dest`: [optional, default `src | basename`]: The remote path of the file to copy, relative to `/etc/autossh` (e.g. `id_rsa`)
* `autossh_tunnel_client_key_map.{n}.owner`: [optional, default `root`]: The name of the user that should own the file
* `autossh_tunnel_client_key_map.{n}.group`: [optional, default `owner`, `root`]: The name of the group that should own the file
* `autossh_tunnel_client_key_map.{n}.mode`: [optional, default `0600`]: The mode of the file to copy* `autossh_tunnel_client_host`: [required] Remote host to connect to (e.g. `example.com`)
* `autossh_tunnel_client_port`: [default: `22`]: Remote port to connect to
* `autossh_tunnel_client_user`: [default: `autossh`]: Remote user for connection
* `autossh_tunnel_client_identity`: [default: `id_rsa`]: Remote user for connection* `autossh_tunnel_client_autossh_options`: [default: `['M 0', '4', 'N']`]: Autossh options
* `autossh_tunnel_client_ssh_options`: [default: `['ServerAliveInterval 60', 'ServerAliveCountMax 3', 'BatchMode=yes', 'StrictHostKeyChecking=no']`]: SSH options* `autossh_tunnel_client_forward`: [required]: Port forward to set up (e.g. `['3307:127.0.0.1:3306']`)
* `autossh_tunnel_client_forward_direction`: [default: `L`]: Specifies the direction of the tunnel. If it is set to `R`, then the direction of the tunnel is reversed making it into a reverse ssh tunnel## Dependencies
None
## Recommended
* `ansible-autossh-tunnel-server` ([see](https://github.com/Oefenweb/ansible-autossh-tunnel-server))
#### Example(s)
##### MySQL tunnel
```yaml
---
- hosts: all
roles:
- oefenweb.autossh-tunnel-client
vars:
autossh_tunnel_client_key_map:
- src: ../../../files/autossh-tunnel-client/etc/autossh/id_rsa
autossh_tunnel_client_host: 'example.com'
autossh_tunnel_client_forward: ['3307:127.0.0.1:3306']
```You will be able to connect to mysql using:
```bash
mysql -h 127.0.0.1 -P 3307 -u#### -p#### --skip-ssl;
```#### License
MIT
#### Author Information
Mischa ter Smitten (based on work of netkernelroc)
#### Feedback, bug-reports, requests, ...
Are [welcome](https://github.com/Oefenweb/ansible-autossh-tunnel-client/issues)!