To configure the server to allow user authentication with certificates, perform the following tasks:
Acquire the CA certificate and copy it to the server
machine. You can either copy the X.509 certificate(s) as such or you
can copy a PKCS #7 package including the CA certificate(s).
Certificates can be extracted from a PKCS #7 package by specifying
the -7
option with ssh-keygen-g3.
Certificate authentication is a part of the publickey
authentication method. Make sure that you have enabled it in the
/opt/tectia/etc/sshd2_config
file:
AllowedAuthentications publickey AuthPublicKey.Cert.Required no
Setting the AuthPublicKey.Cert.Required
option to yes
defines that the user must authenticate with a
certificate or else the authentication will fail.
Specify the trusted CA certificate and the mapping file(s) in
the ssh_certd_config
file:
Pki <ca-cert-path> MapFile <map-file-path>
You can define several CA certificates by using several
Pki
keywords.
Pki test-ca1.crt MapFile cert-user-mapping1.txt Pki test-ca2.crt MapFile cert-user-mapping2a.txt MapFile cert-user-mapping2b.txt
Note that multiple MapFile
keywords are permitted per Pki
keyword. Also, if no mapping file
is defined, all connections are denied even if user certificates can be verified
using the defined CA certificate. The server will accept only certificates issued
by defined CA(s).
Also define the LDAP server(s) used for CRL checks in the
ssh_certd_config
file.
If the CA services (OCSP, CRLs) are
located behind a firewall, define
also the SOCKS server.
LdapServers ldap://ldap.example.com:389 SocksServer socks://fw.example.com:1080
Defining the LDAP server is not necessary if the CA certificate
contains a CRL Distribution Point
or an Authority
Info Access
extension.
Create the certificate user mapping file as described in Certificate User Mapping File.
Restart ssh-certd as instructed in Restarting and Stopping ssh-certd.
For more information on the configuration file options, see sshd2_config(5) and ssh_certd_config(5).