{"id":26383298,"url":"https://github.com/koonix/ansible-sshjuggle","last_synced_at":"2025-03-17T06:33:52.441Z","repository":{"id":217163966,"uuid":"743159434","full_name":"koonix/ansible-sshjuggle","owner":"koonix","description":"Ansible role for finding a working set of ssh connection parameters amongst multiple.","archived":false,"fork":false,"pushed_at":"2024-01-29T22:57:54.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-30T00:41:16.714Z","etag":null,"topics":["ansible","ansible-collection"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koonix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-14T14:12:56.000Z","updated_at":"2024-01-14T17:25:07.000Z","dependencies_parsed_at":"2024-01-14T22:29:41.760Z","dependency_job_id":"0f53492d-591e-4ed4-b21e-6c1a015ebd90","html_url":"https://github.com/koonix/ansible-sshjuggle","commit_stats":null,"previous_names":["koonix/ansible-sshjuggle"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koonix%2Fansible-sshjuggle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koonix%2Fansible-sshjuggle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koonix%2Fansible-sshjuggle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koonix%2Fansible-sshjuggle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koonix","download_url":"https://codeload.github.com/koonix/ansible-sshjuggle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243987713,"owners_count":20379588,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-collection"],"created_at":"2025-03-17T06:33:52.047Z","updated_at":"2025-03-17T06:33:52.432Z","avatar_url":"https://github.com/koonix.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-sshjuggle\n\n[![Latest Version](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fkoonix%2Fansible-sshjuggle%2Fmain%2Fgalaxy.yml\u0026query=version\u0026label=Latest%20Version\u0026color=%23347d39)](https://github.com/koonix/ansible-sshjuggle/tags)\n\nAnsible collection that comes with a role\nfor finding a working set of ssh connection parameters\namongst multiple specified parameters.\n\n## Roles\n\n### sshjuggle\n\nThis role finds a working set of ssh parameters\nby trying out Ansible's [regular ssh parameters](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html)\n*and* the parameters specified in this role's variables.\n\nsshjuggle tests all possible combinations of the connection parameters in parallel,\nand the role proceeds with updating the connection parameters to the working ones\nas soon as a working set of parameters are found.\n\nSince Ansible tries to connect to the host\nand gather facts before any roles are applied,\nAnsible's [gathering option](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-gathering)\nshould be set to `explicit`.\n\nThis role will trigger fact gathering after setting the connection parameters,\na behaviour that can be controlled by the `sshjuggle_gather_facts` variable.\n\n| Variable                                          | Default      | Description |\n|---------------------------------------------------|--------------|-------------|\n| `sshjuggle_ports`                                 | `[ 22 ]`     | Ports to try in addition to the [default port parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-port). |\n| `sshjuggle_hosts`                                 | `[]`         | Hosts to try in addition to the [default host parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-host). |\n| `sshjuggle_users`                                 | `[]`         | Users to try in addition to the [default user parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-remote_user). |\n| `sshjuggle_passwords`                             | `[]`         | Passwords to try in addition to the [default password parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-password). |\n| `sshjuggle_private_key_files`                     | `[]`         | Private key files to try in addition to the [default private key file parameter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html#parameter-private_key_file). |\n| `sshjuggle_gather_facts`                          | `true`       | Whether to trigger Ansible's fact gathering at the end of the role. |\n| `sshjuggle_fail`                                  | `true`       | Whether to fail if sshjuggle fails to connect to the host. |\n| `sshjuggle_max_jobs`                              | `100`        | Maximum number of simultaneous jobs to use for testing out parameters. Set to a lower number if your system is hitting the process count limit. |\n\n#### Usage\n\nExample [requirements.yml](https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-roles-and-collections-from-the-same-requirements-yml-file]) file:\n\n```yaml\ncollections:\n  - name: https://github.com/koonix/ansible-sshjuggle\n    type: git\n    version: 0.1.7\n```\n\nExample usage in a playbook:\n\n```yaml\n- name: Roles\n  hosts: all\n  roles:\n    - { role: koonix.sshjuggle.sshjuggle, tags: always }\n    - ...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoonix%2Fansible-sshjuggle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoonix%2Fansible-sshjuggle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoonix%2Fansible-sshjuggle/lists"}