我正在尝试设置一个简单的 Kerberos 环境,其中客户端服务器通过 Kerberos 服务器对 Web 服务(在我的情况下为 OpenSSH)进行身份验证。
我在 KDC 上生成了一个 keytab 文件,但不太确定要将文件复制到哪些服务器。我只需要将其复制到提供服务的机器上,还是复制到想要对服务进行身份验证的客户端机器上?
我正在尝试设置一个简单的 Kerberos 环境,其中客户端服务器通过 Kerberos 服务器对 Web 服务(在我的情况下为 OpenSSH)进行身份验证。
我在 KDC 上生成了一个 keytab 文件,但不太确定要将文件复制到哪些服务器。我只需要将其复制到提供服务的机器上,还是复制到想要对服务进行身份验证的客户端机器上?
在正常情况下,您创建的 keytab 文件(通常使用服务帐户主体(或实例),例如 ssh/hostname)应该放在该 kerberos 服务的“客户端”上。
在此客户端上,您将使用此密钥表(缓存帐户凭据)使用类似这样的命令对 KDC 验证您的服务(在服务的情况下,这通常由服务完成,在其代码中或通过脚本,在启动时):
keytabs 以某种方式包含您的帐户(或服务帐户)凭据(例如主体和密码),因此您不必手动进行身份验证,但您可以使用此 keytab 自动进行身份验证(并且 keytab 应该具有严格的权限,自然)
希望有帮助
注意:KDC 也使用密钥表,注意不要将此密钥表上传到您的客户端!它包含 KDC/kadmin 信息!
为了确保您使用的是正确的,您可以使用 kadmin 从客户端连接到您的 KDC 并从那里创建密钥表,例如:
问候,