能够使用SSH密钥/ PEM进行Web身份validation来代替密码保护?

我一直在想方设法locking我们的开发网站更多,这个想法来了,而不是使用IP中心+密码保护,使用更类似于PEM密钥的东西,就像我将用于SSH“进入服务器。 我很好奇,如果这是一个可行的事情,它将如何build立。 我查看了Apache AuthType文档,发现它支持多种基本function,例如摘要和表单,我很好奇如果我可以利用这些或其他可能的东西,以使我们的服务器端口80而443只在颁发证书时可见?

你所要求的是可能的 。 但是,对于缺lesshttpstarttls / stls命令,它只能用于https 。 非证书ssh-keys将不能用于此目的。

客户端需要在浏览器中安装证书(和私钥)。
对于https监听器,除了其他标准configuration之外,服务器还需要包含以下指令。

 SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile path/to/a/trusted/CA.crt 

如果您的站点使用SSL,则可以select使用客户端证书来授权用户。

该方法以这种方式工作:

  1. 您将Apacheconfiguration为使用客户端证书身份validation

  2. 创build一个CA来生成和签署authentication

  3. 为您的所有用户生成并签署authentication

  4. configuration目录以使用SSLVerifyClient指令

这里有一个非常好的和详细的指南。