SSH Authentication – Public Key Authentication Over HTTP/HTTPS

authenticationhttppublic-keyssh

Is it possible to configure Apache, or some other web server, to use some kind of public-key authentication?

What I would like, ideally, is to be able to give users access to a site without the need for a username/password, provided that they have installed a keyfile (or similar) in their browser, and that that key is 'authorized' on the server side.

Best Answer

What you are looking for is generally referred to as mutual authentication. Normally a server certificate exists for "server authentication", which means it validates the identity of the server to the client.

Note that when pursuing this scheme, you have an additional challenge of certificate renewal for the clients.

Here is an example of how it is done for one product:

Mutual Authentication Primer

Configuring Apache for SSL