点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我最初向SSO提出了另一条消息,但这是与SAP Cryptolib有关的,但是在SAP确认后,我们无法获得NW SSO2.0许可证,因此我们正在研究诸如kerberos之类的替代方法。
从Windows 2008/Oracle迁移到Linux RHEL 6.4/Sybase之后,我试图在SAPGUI上运行SNC(SSO)。
当前,我们正在针对Windows AD域在目标LINUX [RHEL 6.4]服务器上进行测试。
我一直在关注realtech文档,这是一个很好的起点。
SSO的OS部分仍然有效,我得到了TGT,klist向我显示了正确的凭据等,但是ABAP堆栈不再通过SSO进行身份验证。
Kinit可以很好地与Linux服务器(通过root用户)在Windows AD上进行身份验证
[root @ orsapbisbx01〜]#kinit -V -k SAPServiceSBQ/<<一个rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
使用默认缓存:/tmp/krb5cc_0
使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
已通过Kerberos v5认证
[root @ orsapbisbx01〜]#
通过sbadm初始化
--------------------------
orsapbisbx01:sbqadm 51> kinit -V -k SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
使用默认缓存:/tmp/krb5cc_500
使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
已通过Kerberos v5认证
Klist向我们展示了
Klist向我们显示了票证[都通过root/sbqadm]
--------------------------------------------------- ---------------------------------
orsapbisbx01:sbqadm 54> klist
票证缓存:FILE:/tmp/krb5cc_500
默认主体:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
有效的启动到期服务主体
07/23/14 18:01:01 07/24/14 04:01:06 krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
续签到14年7月30日18:01:01
orsapbisbx01:sbqadm 55
如在dev_w *跟踪中所示,正确初始化了SNC
N SncInit():初始化安全网络通信(SNC)
带有Linux的N AMD/Intel x86_64(st,ascii,SAP_UC/size_t/void * = 16/64/64)
N UserId =" sbqadm"(500),envvar USER =" sbqadm"
N SncInit():使用3(隐私级别)找到了snc/data_protection/max = 3
N SncInit():使用2(完整性级别)找到snc/data_protection/min = 2
N SncInit():使用3(隐私级别)找到了snc/data_protection/use = 3
N SncInit():找到了snc/gssapi_lib =/usr/lib64/ snckrb5.so
N个文件"/img/usr/lib64/ snckrb5.so "作为外部SNC适配器动态加载
N SNC适配器标识为:
N个外部SNC适配器(Rev 1.0)到Kerberos 5/GSS-API v2
N SncInit():找到了snc/identity/as = p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名。 mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
N SncInit():接受凭据,有效期=不确定
N SncInit():可用的初始化凭据,寿命= 09h 30m 53s
启用了M SNC(安全网络通信)
A
在前端,我已完成以下设置
在SAPGUI中
-----------------------
在SNC标签下,SNC名称如下
SNC名称:p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
在SAP服务器上,是否在用户帐户属性的" SNC"选项卡下按以下方式键入SNC名称?
在前端系统上
-------------------------------------
我正在使用" gsskrb5.dll"库,该库已移至目录%windir%\ system32
此后,我必须添加值为" gsskrb5.dll"的系统变量SNC_LIB。 我既尝试了手动操作,也尝试了SAP Note 595341的安装程序。
尽管进行了所有这些设置,但是ABAP堆栈不会对用户进行身份验证,我所得到的只是一个有趣的错误弹出窗口" SAP系统消息:S"。
ABAP堆栈dev_w *工作流程跟踪中注意到了相应的错误。
N ** *错误=> SncPCreateContext()== SNCERR_GSSAPI [sncxxall.c 3364]
N GSS-API(maj):未指定的GSS故障。 次代码可能会提供更多信息
N GSS-API(分钟):未找到SAPServiceSBQ的密钥表项/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名 .mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
N无法建立安全上下文
N <<-SncProcessInput()== SNCERR_GSSAPI
M ***错误=> ThSncIn:SncProcessInput(SNCERR_GSSAPI)[thxxsnc.c 1035]
M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0
M ***错误=> ThSncIn:SncProcessInput [thxxsnc.c 1040]
M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0
此外,我已经在前端使用Kerbtray.exe进行了验证,并且前端也收到了Linux服务器上的kerberos票证。
门票
-> krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
|
->服务主体[krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ MYDOMAIN.COM
服务名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
目标名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
我的配置是否有问题,我认为问题出在前端,我是否需要更改snc/gssapi_lib库[正如我们在RHEL 6.4上一样],因为我们正在使用/usr/lib64/< rel =" nofollow" hraf=" http://snckrb5.so" target =" _ blank"> snckrb5.so ,它是从SCN下载的snc适配器为linux编译的。
任何帮助将不胜感激,因为我们在配置了将近2周后就开始进行圈子了。
致谢
多愁善感的维贾伊达斯
亲爱的
更新
=========
我们能够在操作系统级别上完美地获得kerberos身份验证,也能够成功获得kerberos TGT票证。但是SSO本身失败了。
我们试图用Linux特定的库替换从SDN下载并编译的SNC适配器Linux
即 将/usr/lib64/ snckrb5.so 替换为 libgssapi_krb5.so 以及RHEL 6特定的/lib64/libgssglue.so.1,但这尽管对Kerberos库文件进行了更改也无济于事。/p>
我还尝试使用SIDADM进行相同的配置,以排除由于Unix系统中不存在SAPServiceSID而导致的问题,但是我们遇到了相同的错误,错误消息弹出窗口" SAP System Message:S"。
我们继续在dev_w *工作流程跟踪中获得以下错误消息
2014年7月29日星期二23:44:59
N ***错误=> SncPEstablishContext()== SNCERR_GSSAPI [sncxxall.c 3364]
N GSS-API(maj):未指定的GSS故障。 次代码可能会提供更多信息
N GSS-API(min):找不到SBQADM的密钥表条目/<< rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain。 com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >
N无法建立安全上下文
N <<-SncProcessInput()== SNCERR_GSSAPI
M ***错误=> ThSncIn:SncProcessInput(SNCERR_GSSAPI)[thxxsnc.c 1035]
M {root-id = 00221982BAFF1ED485F6A0D2AB080DA5} _ {conn-id = 00000000000000000000000000000000} _0
任何帮助将不胜感激。
致谢
Prashant
你好亚历山大,
我交叉检查了我的屏幕截图,这似乎是一个错字,正确的命令应该是
-crypto RC4-HMAC-NT,也请确保将+ DESONLY更改为-DESONLY,因为这-释放了仅DES加密帐户的限制。
生成的klist文件如下
orsapbisbx01:sbqadm 52> klist -e
票证缓存:FILE:/tmp/krb5cc_500
默认主体:SBQADM/ 。 mydomain.com > @ MYDOMAIN.COM
有效的启动到期服务主体
08/01/14 00:39:30 08/01/14 10:39:30 krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
续签至2014年8月8日00:39:30,Etype(skey,tkt):arcfour-hmac,arcfour-hmac
orsapbisbx01:sbqadm 53>
希望这会有所帮助。
致谢
Prashant
亲爱的,我在Aix 7.1 64bit上有完全相同的错误,请您与我分享您在服务器和客户端使用的解决方案或库。/p>
我们在RHEL和Suse上有很多这种认证的实现,这是Aix上的第一个,我无法编译de snckrb5.so 库是因为缺少XLC编译器的许可证。 所有其他步骤都是确定,AD用户,setspn,ktpass,获取票证,SAP配置文件,客户端上的gsskrb5.dll等。
提前很多
鲁本
一周热门 更多>