问题标签 [mit-kerberos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kerberos - kinit(v5):获取初始凭据时未找到密钥表条目
我按照以下步骤设置 KDC 和 kerberos。现在,虽然 kinit 面临以下问题。
操作系统 - SUSE 11
例外:
kinit(v5):获取初始凭据时未找到密钥表条目
authentication - Kerberos 与 DNS 的关系
Kerberos 主体通常定义为role/host@REALM
. 这里的主机字段是如何使用的?
它是否强制只有特定主机才能在kinit
运行时获得 Kerberos 票证?
- 如果是,那么设置正确的 DNS 是有意义的。
- 如果没有,主机名有什么用?
我xyz/garbage@REALM
在kadmin.local
面板中创建了一个具有名称的主体,下载了 keytab 并将其分发到不同的主机。我尝试kinit
使用这个 keytab 并且它有效。
这是正确的行为吗?如何检查我的 Kerberos 是否使用 DNS?
mit-kerberos - kadmin(通过 ambari)无法创建主体,但 kadmin.local 能够创建
我正在尝试对我的 HDF 3.0 集群进行kerberize。我已经配置了 kerberos 数据库,在 kadm5.acl 中提供了各种权限,并在 krb5.conf 中正确定义了领域和其他详细信息
现在问题是通过 kadmin.local 我能够创建所需的主体。但是通过 kadmin,它给出了以下异常。
add_principal:在创建“dbdhdf301-011518@EMEA.EBS.CORPINTRA.NET”时操作需要“add”权限。
请建议我解决方案。
java - JNDI 搜索在 GSSAPI 之后不起作用(使用 Kerberos 进行身份验证)
我从互联网上获得了以下示例,以使用 JNDI 测试 GSSAPI。
我得到了例外
javax.naming.NameNotFoundException:[LDAP:错误代码 32 - 0000208D:NameErr:DSID-03100241,问题 2001(NO_OBJECT),数据 0,最佳匹配:'OU=StackOverFlow,DC=domain,DC=lab'
请注意: OU 存在于 AD 系统中。
代码LoginCallBackHandler
如下
我错过了什么还是我做错了什么?
kerberos - Kerberos kinit:获取默认 ccache 时的凭据缓存类型未知
我在 Bash 上使用 Kerberos 并尝试运行 kinit 命令。
我不断收到此错误:
对于我运行的任何其他 Kerberos 命令(、、等),也会出现此klist
错误kdestroy
。
我已将 KRB5CCNAME 设置为以下值:KEYRING:persistent:{uid}
有人可以建议如何进一步解决这个问题吗?关于这个特定错误的文档似乎很少。
apache-spark - 通过 Spark 应用程序的 Kerberos 跨领域 HDFS 访问
我们正在尝试在使用MIT KDC和Ranger启用跨领域身份验证的两个集群之间进行数据传输。
DistCP
运行没有任何问题。但是,集群 A 中的 Spark 应用程序应该将数据写入集群 B HDFS(kerberized)不工作。
应用程序在本地模式下工作,并且对集群 B 的 HDFS 的写入工作。但是,当我们尝试在 YARN-CLUSTER 模式下运行相同的程序时,它会失败
AcessControlException (Caused by: org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]).
在调试时观察到,在纱线集群模式下,FileSystem
创建的对象具有简单的身份验证,主体只是用户名,在本地模式下是 KERBEROS 身份验证,主体是正确的主体。
我们了解 Yarn 委托代币来启动 Executors 和 Driver。我们不确定我们是否缺少 spark、hdfs 或 yarn 中的任何配置。
由于它是一个跨领域 KDS,我使用 cluser A 的 Principal 和 Keytab 来提交 spark-application。
下面是我们在 spark submit 中启用的一些属性。
火花:
纱:
并且还设置了所有其他作为 keytab 的纱线 kerberos 主体。
HDFS:
下面是从在执行程序上运行以创建文件系统对象的应用程序复制的相同代码。
例外:
kerberos - 如何防止浏览器发送 NTLM 凭据?
我正在一个网站上工作,我们希望使用 Spring Security Kerberos 使用 Kerberos 身份验证。所以,我们不支持 NTLM。当用户发出未经身份验证的请求时,服务器将回复带有标头 WWW-Authenticate: Negotiate 的 HTTP 401。
问题:对于某些用户/配置,浏览器将发送 NTLM 凭据。服务器不一定在 Windows 上运行,因此它无法处理 NTLM 凭据。
据我了解,“协商”的意思是“请尽可能向我发送 Kerberos,否则发送 NTLM”。是否有其他设置显示“仅向我发送 Kerberos”?或者有什么方法可以告诉浏览器该站点只支持 Kerberos?
作为后续,为什么浏览器没有可用的 Kerberos?在这种情况下,他们登录到同一个域。也许他们的凭据已经过期?
centos7 - 生成 TGT 后 Kerberos 请求密码
我已按照以下步骤为 centos 设置 Kerberos 服务器。
- 在 /etc/hosts 文件中插入了有效的 fqdn。
- 更改 /var/kerberos/krb5kdc/kdc.conf 中的领域名称
- 更改 /var/kerberos/krb5kdc/kadm5.acl 中的领域名称
- 配置 /etc/krb5.conf
- 使用命令 kdb5_util create -s -r TEST.COM 创建 KDC
- systemctl 启用 krb5kdc
- systemctl 启用 kadmin
- systemctl 启动 krb5kdc
- systemctl 启动 kadmin
- 配置 firewalld 以接受与 Kerberos 相关的流量
- 将可信实体注册到 Kerberos 数据库
- 配置 etc/ssh/sshd_config
我可以使用 kinit 命令生成 TGT。但是当我尝试 ssh 到服务器时,它会提示输入密码。
/etc/krb5.conf
hive - Oozie Spark 使用 kerberos 访问 hive
当我在 oozie 中执行 spark 过程时,出现以下错误。找不到数据库。
这是我的火花配置
Metastore,当前连接数:1 2018-09-26 17:31:42,598 WARN [main] hive.metastore: set_ugi() 不成功,可能的原因:新客户端与旧服务器通信。继续没有它。org.apache.thrift.transport.TTransportException 在 org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) 在 org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) 在 org. org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:230) 的 org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java: 77)在 org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_set_ugi(ThriftHiveMetastore.java:3748) 在 org.apache.hadoop.hive。
hadoop - PriviledgedActionException(未能找到任何 kerberos tgt)
我通过使用 kerberos 作为身份验证机制连接到 hdfs,我正在运行一项需要 3 天才能完成的作业,我收到此错误:
org.apache.hadoop.security.UserGroupInformation - PriviledgedActionException as:user_name(auth:KERBEROS) 原因:javax.security.sasl.SaslException:GSS 启动失败 [由 GSSException 引起:未提供有效凭据(机制级别:找不到任何 Kerberos tgt)]
我还启动了 crontab,它每 1 小时使用相同的 keytab 执行 kinit,但仍然收到相同的错误并且作业无法完成
请帮我