salt.states.ssh_known_hosts

Control of SSH known_hosts entries

Manage the information stored in the known_hosts files.

github.com:
  ssh_known_hosts:
    - present
    - user: root
    - fingerprint: 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
    - fingerprint_hash_type: md5

example.com:
  ssh_known_hosts:
    - absent
    - user: root
salt.states.ssh_known_hosts.absent(name, user=None, config=None)

Verifies that the specified host is not known by the given user

name

The host name Note that only single host names are supported. If foo.example.com and bar.example.com are the same machine and you need to exclude both, you will need one Salt state for each.

user

The user who owns the ssh authorized keys file to modify

config

The location of the authorized keys file relative to the user's home directory, defaults to ".ssh/known_hosts". If no user is specified, defaults to "/etc/ssh/ssh_known_hosts". If present, must be an absolute path when a user is not specified.

salt.states.ssh_known_hosts.present(name, user=None, fingerprint=None, key=None, port=None, enc=None, config=None, hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)

Verifies that the specified host is known by the specified user

On many systems, specifically those running with openssh 4 or older, the enc option must be set, only openssh 5 and above can detect the key type.

name

The name of the remote host (e.g. "github.com") Note that only a single hostname is supported, if foo.example.com and bar.example.com have the same host you will need two separate Salt States to represent them.

user

The user who owns the ssh authorized keys file to modify

fingerprint

The fingerprint of the key which must be present in the known_hosts file (optional if key specified)

key

The public key which must be present in the known_hosts file (optional if fingerprint specified)

port

optional parameter, port which will be used to when requesting the public key from the remote host, defaults to port 22.

enc

Defines what type of key is being used, can be ed25519, ecdsa, ssh-rsa, ssh-dss or any other type as of openssh server version 8.7.

config

The location of the authorized keys file relative to the user's home directory, defaults to ".ssh/known_hosts". If no user is specified, defaults to "/etc/ssh/ssh_known_hosts". If present, must be an absolute path when a user is not specified.

hash_known_hostsTrue

Hash all hostnames and addresses in the known hosts file.

timeoutint

Set the timeout for connection attempts. If timeout seconds have elapsed since a connection was initiated to a host or since the last time anything was read from that host, then the connection is closed and the host in question considered unavailable. Default is 5 seconds.

New in version 2016.3.0.

fingerprint_hash_type

The public key fingerprint hash type that the public key fingerprint was originally hashed with. This defaults to sha256 if not specified.

New in version 2016.11.4.

Changed in version 2017.7.0: default changed from md5 to sha256