Index Index for
Section 4
Index Alphabetical
listing for S
Bottom of page Bottom of
page

ssh_certificates(4)

NAME

ssh_certificates - Describes the configuration files and keywords needed when using certificates with the Secure Shell software

DESCRIPTION

When using certificates with Secure Shell software, you need the ssh2_config Version 1.1 and sshd2_config Version 1.1 files and one or more special mapping files holding the user authorization data. (See Security Administration for more information about these files.) The following list describes the certificate-related keywords for the ssh2_config configuration file. See ssh2_config(4) for a complete list of keywords. HostCA ca-certificate Specifies the Certificate Authority (CA) certificate (in binary or PEM [base64] format) to be used when authenticating remote hosts. The certificate received from the host must be issued by the specified CA and must contain an alternate, fully qualified domain name. If the remote host name is not fully qualified, the domain specified by the DefaultDomain configuration option is appended to it before comparing it to certificate alternate names. If no CA certificates are specified in the configuration file, the protocol tries to do key exchange with ordinary public keys. Otherwise certificates are preferred. Multiple CAs are permitted. HostCANoCRLs ca-certificate Similar to HostCA, but disables Certificate Revolation List (CRL) checking for the given ca-certificate. LdapServers ldap://server.domain-name:389 CRLs are automatically retrieved from the CRL distribution point defined in the certificate to be checked if the point exists. Otherwise, the comma-separated server list given by the LdapServers keyword is used. If intermediate CA certificates are needed in certificate validity checking, this keyword must be used or retrieving the certificates will fail. The following list describes the certificate-related keywords for the sshd2_config configuration file. See sshd2_config(4) for a complete list of keywords. ExternalMapper filename Specifies an external mapper program for the preceding Pki keyword. When a certificate is received and is valid under the Pki block in question, the external mapper is executed and the certificate is written to its standard input. The external mapper is expected to output a newline-separated list of usernames. If the user name is found in the list, the authentication succeeds; otherwise, the authentication using the certificate in question fails. The ExternalMapper keyword will override all MapFile keywords for the current (preceding) Pki keyword. If multiple ExternalMapper keywords are specified for a Pki block, the first one is used. ExternalMapperTimeout seconds Specifies an external mapper timeout for the preceding Pki keyword. If the server is unable to read the full output from an external mapper in the given period, the operation will fail and the external mapper program will be terminated. The default timeout is 10 seconds. If multiple ExternalMapperTimeout keywords are specified for a Pki block, the first one is used. HostCA ca-certificate Works the same as in the ssh2_config file, but DefaultDomain is not used. HostCANoCRLs ca-certificate Works the same as in the ssh2_config wfile, but DefaultDomain is not used. HostCertificateFile ca-certificate Similar to PublicHostKeyFile, except that the file is assumed to contain an X.509 certificate in binary format. The keyword must be paired with a corresponding HostKeyFile option. (See sshd2_config(4).) If multiple certificates with the same public key type (dss or rsa) are specified, only the first one is used. LdapServers ldap://server.domain-name:389 Works the same as in the ssh2_config file. MapFile filename Specifies a mapping file for the preceding Pki keyword. Multiple mapping files are permitted for Pki keywords. The mapping file format is described in the next section. Pki ca-certificate Enables user authentication using certificates. The ca-certificate must be an X.509 certificate in binary format. This keyword must be followed by one or more MapFile keywords. The validity of a received certificate is checked separately using each of the defined Pki keywords in turn until they are exhausted (in which case the authentication fails), or a positive result is achieved. If the certificate is valid, the mapping files are examined to determine whether the certificate allows the user to log in. Correct signature generated by a matching private key is always required. PkiDisableCrls argument Disables CRL checking for the preceding Pki keyword, if argument is y. By default, CRL checking is y. SocksServer socks_server_name Specifies the name of a socks server. Used when fetching certificates or CRLs from remote servers. When certificates are used in user authentication, one or more mapping files determine whether the user can log in to an account with a certificate. The mapping file must contain one or more lines in the following format: account-id keyword arguments Keyword must be one of the following: Email, EmailRegex, Subject, SerialAndIssuer, or SubjectRegex. Arguments are different for each keyword. The following list describes each variation: Email An email address in standard format. If the certificate contains the email address as an alternate name, it is good for logging in as user account-id. Subject A subject name in DN notation. If the name matches the one in the certificate, the certificate is good for logging in as user account-id. SerialAndIssuer A number and an issuer name in domain name notation. If the issuer name and serial number match those in the certificate, the certificate is good for logging in as user account-id. EmailRegex A regular expression (egrep syntax). If it matches an alternate name (of type email-address) in the certificate, the certificate is good for logging in as user account-id. As a special feature, if account-id contains a string, %subst%, it is replaced by the first parenthesized substring of the regular expression before comparing it with the account the user is trying to log in. SubjectRegex Works identically to EmailRegex, except it matches the regular expression to the canonical subject name in the received certificate. Empty lines and lines beginning with the pound sign (#) are ignored. MAPPING FILE EXAMPLE guest email guest@domain.org guest subject C=FI, O=Company Ltd., CN=Guest User guest SerialAndIssuer 123 C=FI, O=Foo\, Ltd., CN=Test CA %subst% EmailRegex ([a-z]+)@domain\.org %subst% SubjectRegex ^C=FI, O=Company, CN=([a-z]+)$ The EmailRegex example allows users into the account that corresponds to the user name part of the email address if the domain address is domain.org and the user name contains only letters. The example SubjectRegex lets in all users with fields C=FI and O=Company in the subject name if their CN field contains only letters and is the account name they are trying to log in to. The carat (^) and dollar ($) symbols at the beginning and end of the regular expression are required to prevent the regular expression from matching anything less than the whole string (that is, subject name). All characters interpreted by the regular expression parser as special characters must be escaped with a backslash (\) if they are a part of the subject name itself. This also means that the backslash in the SerialAndIssuer example must be escaped with another backslash if the same subject name was used in a SubjectRegex rule.

LEGAL NOTICES

SSH is a registered trademark of SSH Communication Security Ltd.

SEE ALSO

Commands: ssh2(1), sshd2(8) Files: ssh2_config(4), sshd2_config(4) Security Administration

Index Index for
Section 4
Index Alphabetical
listing for S
Top of page Top of
page