propellor-1.3.2: property-based host configuration management in haskell

Safe HaskellNone
LanguageHaskell98

Propellor.Property.Ssh

Synopsis

Documentation

authorizedKey :: UserName -> String -> Property Source

Ensures that a user's authorized_keys contains a line. Any other lines in the file are preserved as-is.

randomHostKeys :: Property Source

Blows away existing host keys and make new ones. Useful for systems installed from an image that might reuse host keys. A flag file is used to only ever do this once.

hostKeys :: IsContext c => c -> [(SshKeyType, PubKeyText)] -> Property Source

Installs the specified list of ssh host keys.

The corresponding private keys come from the privdata.

Any host keysthat are not in the list are removed from the host.

hostKey :: IsContext c => c -> SshKeyType -> PubKeyText -> Property Source

Installs a single ssh host key of a particular type.

The public key is provided to this function; the private key comes from the privdata;

pubKey :: SshKeyType -> PubKeyText -> Property Source

Indicates the host key that is used by a Host, but does not actually configure the host to use it. Normally this does not need to be used; use hostKey instead.

keyImported :: IsContext c => SshKeyType -> UserName -> c -> Property Source

Sets up a user with a ssh private key and public key pair from the PrivData.

knownHost :: [Host] -> HostName -> UserName -> Property Source

Puts some host's ssh public key(s), as set using pubKey, into the known_hosts file for a user.

authorizedKeys :: IsContext c => UserName -> c -> Property Source

Makes a user have authorized_keys from the PrivData

This removes any other lines from the file.

listenPort :: Int -> RevertableProperty Source

Makes the ssh server listen on a given port, in addition to any other ports it is configured to listen on.

Revert to prevent it listening on a particular port.