community.general.ssh_config – Manage SSH config for user
Note
This plugin is part of the community.general collection (version 3.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.ssh_config
.
New in version 2.0.0: of community.general
Parameters
Parameter |
Comments |
---|---|
Which group this configuration file belongs to. If none given, user is used. |
|
The endpoint this configuration is valid for. Can be an actual address on the internet or an alias that will connect to the value of hostname. |
|
The actual host to connect to when connecting to the host defined. |
|
The path to an identity file (SSH private key) that will be used when connecting to this host. File need to exist and have mode |
|
The actual port to connect to when connecting to the host defined. |
|
Sets the |
|
Specifies the user to log in as. |
|
SSH config file. If user and this option are not specified, Mutually exclusive with user. |
|
Whether a host entry should exist or not. Choices:
|
|
Whether to strictly check the host key when doing connections to the remote host. Choices:
|
|
Which user account this configuration file belongs to. If none given and ssh_config_file is not specified, If a user is given, Mutually exclusive with ssh_config_file. |
|
Sets the user known hosts file option. |
Examples
- name: Add a host in the configuration
community.general.ssh_config:
user: akasurde
host: "example.com"
hostname: "github.com"
identity_file: "/home/akasurde/.ssh/id_rsa"
port: '2223'
state: present
- name: Delete a host from the configuration
community.general.ssh_config:
ssh_config_file: "{{ ssh_config_test }}"
host: "example.com"
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A list of host added. Returned: success Sample: [“example.com”] |
|
A list of host diff changes. Returned: on change Sample: [{“example.com”: {“new”: {“hostname”: “github.com”, “identityfile”: [“/tmp/test_ssh_config/fake_id_rsa”], “port”: “2224”}, “old”: {“hostname”: “github.com”, “identityfile”: [“/tmp/test_ssh_config/fake_id_rsa”], “port”: “2224”}}}] |
|
A list of host changed. Returned: success Sample: [“example.com”] |
|
A list of host removed. Returned: success Sample: [“example.com”] |
Authors
Björn Andersson (@gaqzi)
Abhijeet Kasurde (@Akasurde)