tree 8f14a90771baa1233869dc380c5f0e44ba37926c
parent d10fe0d8fd614f6ae6606179b0326bdc6a5f6af8
author Florian Zschocke <florian.zschocke@devolo.de> 1481031858 +0100
committer Florian Zschocke <florian.zschocke@devolo.de> 1481031858 +0100

Set list of offered SSH authentication methods.

Make the SSH authentication methods used by the server configurable,
so that for example password authentication can be turned off.

For this, a `git.sshAuthenticationMethods` setting is added which is a space
separated list of authentication method names. Only the methods listed will
be enabled in the server.
This is modeled after the option of the same name from sshd_config, but it
does not offer listing multiple required methods. It leaves the door open,
though, for a later extension to support such a multi-factor authentication.

Since this also includes Kerberos authentication with GSS API, this obsoletes
the `git.sshWithKrb5` property. The latter is removed. Instead, to enable
Kerberos5 authentication, add the method name `gssapi-with-mic` to the
authentication methods list.
