OpenSSH 在协议版本 1 和 2 中均支持 Kerberos 身份验证。在版本 1 中,存在特定的协议消息来传送 Kerberos 票据。版本 2 不再直接使用 Kerberos,而是依赖于 GSSAPI,即通用安全服务 API. 这是一种不特定于 Kerberos 的编程接口 - 旨在隐藏底层身份验证系统的属性,无论它是 Kerberos、公共密钥身份验证系统(如 SPKM)还是其他系统。但是,GSSAPI 库中仅包含 Kerberos 支持。
要将 sshd 与 Kerberos 认证一起使用,请编辑 /etc/ssh/sshd_config 并设置如下选项:
# These are for protocol version 1 # # KerberosAuthentication yes # KerberosTicketCleanup yes # These are for version 2 - better to use this GSSAPIAuthentication yes GSSAPICleanupCredentials yes
然后使用 rcsshd restart 重启动您的 SSH 守护程序。
要将 Kerberos 身份验证与协议版本 2 一起使用,需要在客户端也启用它。此操作可在整个系统范围的配置文件 /etc/ssh/ssh_config 中执行,也可通过编辑 ~/.ssh/config 在每个用户级别上执行。在这两种情况下,均应添加选项 GSSAPIAuthentication yes。
您现在应该能够使用 Kerberos 身份验证进行连接。使用 klist 来验证您是否具有有效票证,然后连接到 SSH 服务器。要强制使用 SSH 协议版本 1,请在命令行上指定选项 -1。
![]() | 其他信息 |
|---|---|
文件 | |