community.general.ssh_config module – Manage SSH config for user
Note
This module is part of the community.general collection (version 6.6.2).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.general.ssh_config
.
New in community.general 2.0.0
Synopsis
Configures SSH hosts with special
IdentityFile
s and hostnames.
Requirements
The below requirements are needed on the host that executes this module.
paramiko
Parameters
Parameter |
Comments |
---|---|
Sets the Choices:
|
|
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. |
|
Sets the |
|
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 Mutually exclusive with proxyjump. |
|
Sets the Mutually exclusive with proxycommand. |
|
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. |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
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: |
|
A list of host diff changes. Returned: on change Sample: |
|
A list of host changed. Returned: success Sample: |
|
A list of host removed. Returned: success Sample: |
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication