Re: Can not mount AD share with Kerberos ticket: mount error 126 = Required key not available
"Q (Igor Mammedov)" <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Sep 11, 2009 at 6:55 PM, Jeff Layton <[email protected]> wrote: > On Fri, 11 Sep 2009 14:49:04 +0200 > Robert Euhus <[email protected]> wrote: > >> Hello, >> >> I have added my Linux computer "relogin" to the our local AD-Realm >> "WORKGROUP.INTERN". >> I'm using Winbind for authentification against AD an usermapping (with >> idmap_rid). >> >> At login I get two kerberos tickets: >> >> ----------------------------------------------------------------- >> euhus@relogin:~$ klist -5 >> Ticket cache: FILE:/tmp/krb5cc_101125 >> Default principal: [email protected] >> >> Valid starting Expires Service principal >> 08/28/09 14:54:57 08/29/09 00:54:57 >> krbtgt/[email protected] >> renew until 09/04/09 14:54:57 >> 08/28/09 14:54:57 08/29/09 00:54:57 [email protected] >> renew until 09/04/09 14:54:57 >> euhus@relogin:~$ >> ----------------------------------------------------------------- >> >> However when I try to use these tickets for mounting a share I it fails >> with "mount error 126 = Required key not available": >> >> ----------------------------------------------------------------- >> euhus@relogin:~$ /sbin/mount.cifs //dc1.workgroup.site.de/homes >> .workgroup/homes/ --verbose -o sec=krb5i,guest >> parsing options: sec=krb5i,guest >> >> mount.cifs kernel mount options >> unc=//dc1.workgroup.site.de\homes,ip=1.2.3.220,user=euhus,ver=1,sec=krb5i,guest,uid=101125,gid=100513 >> >> mount error 126 = Required key not available >> Refer to the mount.cifs(8) manual page (e.g.man mount.cifs) >> ----------------------------------------------------------------- >> >> In /etc/request-key.conf I have: >> >> ----------------------------------------------------------------- >> create cifs.spnego * * /usr/sbin/cifs.upcall %k %d >> create dns_resolver * * /usr/sbin/cifs.upcall %k >> ----------------------------------------------------------------- >> >> Even with "echo 3 > /proc/fs/cifs/cifsFYI" dmesg does not really help: >> >> ----------------------------------------------------------------- >> [442597.829966] fs/cifs/connect.c: No session or bad tcon >> [442597.829966] fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = >> 25) rc = -95 >> [442597.829966] CIFS VFS: cifs_mount failed w/return code = -95 >> [442602.280555] fs/cifs/cifsfs.c: Devname: >> //dc1.workgroup.site.de/homes flags: 64 >> [442602.280555] fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 26 >> with uid: 0 >> [442602.280555] fs/cifs/connect.c: Username: euhus >> [442602.280555] fs/cifs/connect.c: UNC: \\dc1.workgroup.site.de\homes >> ip: 1.2.3.220 >> [442602.280555] fs/cifs/connect.c: Socket created >> [442602.280555] fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo >> 0x7fffffff >> [442602.281556] fs/cifs/connect.c: Existing smb sess not found >> [442602.280555] fs/cifs/connect.c: Demultiplex PID: 20596 >> [442602.281556] fs/cifs/cifssmb.c: secFlags 0x1009 >> [442602.281556] fs/cifs/cifssmb.c: Kerberos only mechanism, enable >> extended security >> [442602.281556] fs/cifs/transport.c: For smb_command 114 >> [442602.281556] fs/cifs/transport.c: Sending smb of length 78 >> [442602.280555] fs/cifs/connect.c: rfc1002 length 0xc5 >> [442602.281556] fs/cifs/cifssmb.c: Dialect: 2 >> [442602.281556] fs/cifs/asn1.c: OID len = 7 oid = 0x1 0x2 0x348 0xbb92 >> [442602.281556] fs/cifs/asn1.c: OID len = 7 oid = 0x1 0x2 0x348 0x1bb92 >> [442602.281556] fs/cifs/asn1.c: OID len = 8 oid = 0x1 0x2 0x348 0x1bb92 >> [442602.281556] fs/cifs/asn1.c: OID len = 10 oid = 0x1 0x3 0x6 0x1 >> [442602.281556] fs/cifs/asn1.c: Need to call asn1_octets_decode() >> function for not_defined_in_RFC4178@please_ignore >> [442602.281556] fs/cifs/cifssmb.c: Must sign - secFlags 0x1009 >> [442602.281556] fs/cifs/cifssmb.c: negprot rc 0 >> [442602.281556] fs/cifs/connect.c: Security Mode: 0xf Capabilities: >> 0x8001f3fd TimeAdjust: -7200 >> [442602.281556] fs/cifs/sess.c: sess setup type 6 >> [442602.281556] fs/cifs/cifs_spnego.c: key description = >> ver=0x1;host=dc1.workgroup.site.de;ip4=1.2.3.220;sec=krb5;uid=0x18b05;user=euhus >> [442602.328182] fs/cifs/sess.c: ssetup freeing small buf f699dc80 >> [442602.328182] CIFS VFS: Send error in SessSetup = -126 >> [442602.460181] fs/cifs/connect.c: No session or bad tcon >> [442602.460181] fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = >> 26) rc = -126 >> [442602.460181] CIFS VFS: cifs_mount failed w/return code = -126 >> ----------------------------------------------------------------- >> I guess that cifs.upcall is trying to get the key for >> "host/[email protected]" which I don't have as >> user. I don't really have an idea why. But kerberos tickets vor my host >> are in fact available in /etc/krb5.keytab: >> > > ...nope, according to the above info, cifs.upcall is going to attempt > to get a service principal of: > > host/[email protected] Robert, Try to use command (something like this): $ kvno host/dc1.workgroup.site.de to see if you can get a service ticket. > > ...before connecting to the server. That's failing for some reason. In > general with krb5 you'll want to use the canonical hostname of the > server when mounting as that's the name most likely to be used in > service principals. > >> ----------------------------------------------------------------- >> relogin:~# klist -k /etc/krb5.keytab >> Keytab name: FILE:/etc/krb5.keytab >> KVNO Principal >> ---- >> -------------------------------------------------------------------------- >> 4 host/[email protected] >> 4 host/[email protected] >> 4 host/[email protected] >> 4 host/[email protected] >> 4 host/[email protected] >> 4 host/[email protected] >> 4 [email protected] >> 4 [email protected] >> 4 [email protected] >> ----------------------------------------------------------------- >> >> Using smbclient, Konqueror and Nautilus works with the ticket. >> >> I have tried the same on an Ubuntu 9.04 system without success. >> Sadly I haven't found any hints on the web. So maybe someon could at >> least give me a hint what to look out for eg. I would really like to see >> what key it is trying to find. But I could not find an option for seeing >> this in the logs. >> >> Some more Information on my System: >> Standard Debian Lenny with kernel 2.6.28-15-generic which has CIFS >> Version 1.55 >> >> One more thing that might be connected to this (although I don't think >> so): in /var/log/samba/log.winbindd I found: >> >> ----------------------------------------------------------------- >> [2009/08/24 10:12:52, 0] >> winbindd/winbindd_cache.c:initialize_winbindd_cache(2374) >> initialize_winbindd_cache: clearing cache and re-creating with version >> number 1 >> [2009/08/24 10:12:52, 2] winbindd/winbindd_util.c:add_trusted_domain(192) >> Added domain BUILTIN S-1-5-32 >> [2009/08/24 10:12:52, 2] winbindd/winbindd_util.c:add_trusted_domain(192) >> Added domain RELOGIN S-1-5-21-1796453317-37119528-1882467029 >> [2009/08/24 10:12:52, 2] winbindd/winbindd_util.c:add_trusted_domain(192) >> Added domain WORKGROUP WORKGROUP.INTERN >> S-1-5-21-3432792198-3694902127-1061648754 >> [2009/08/24 10:12:52, 2] >> libsmb/cliconnect.c:cli_session_setup_kerberos(619) >> Doing kerberos session setup >> [2009/08/24 10:12:52, 1] libsmb/clikrb5.c:ads_krb5_mk_req(680) >> ads_krb5_mk_req: krb5_get_credentials failed for dc1$@WORKGROUP >> (Cannot resolve network address for KDC in requested realm) >> [2009/08/24 10:12:52, 1] >> libsmb/cliconnect.c:cli_session_setup_kerberos(626) >> cli_session_setup_kerberos: spnego_gen_negTokenTarg failed: Cannot >> resolve network address for KDC in requested realm >> [2009/08/24 10:45:08, 0] lib/util_sock.c:write_data(1139) >> write_data: write failure. Error = Die Verbindung wurde vom >> Kommunikationspartner zurückgesetzt >> [2009/08/24 10:45:08, 0] libsmb/clientgen.c:write_socket(242) >> write_socket: Error writing 100 bytes to socket 18: ERRNO = Die >> Verbindung wurde vom Kommunikationspartner zurückgesetzt >> [2009/08/24 10:45:08, 0] libsmb/clientgen.c:cli_send_smb(290) >> Error writing 100 bytes to client. -1 (Die Verbindung wurde vom >> Kommunikationspartner zurückgesetzt) >> [2009/08/24 10:45:08, 1] rpc_client/cli_pipe.c:cli_rpc_pipe_open(2227) >> cli_rpc_pipe_open: cli_nt_create failed on pipe \samr to machine >> dc1.workgroup.intern. Error was Write error: Die Verbindung wurde vom >> Kommunikationspartner zurückgesetzt >> [2009/08/24 10:45:08, 2] >> libsmb/cliconnect.c:cli_session_setup_kerberos(619) >> Doing kerberos session setup >> [2009/08/24 10:45:08, 1] libsmb/clikrb5.c:ads_krb5_mk_req(680) >> ads_krb5_mk_req: krb5_get_credentials failed for dc1$@WORKGROUP >> (Cannot resolve network address for KDC in requested realm) >> [2009/08/24 10:45:08, 1] >> libsmb/cliconnect.c:cli_session_setup_kerberos(626) >> cli_session_setup_kerberos: spnego_gen_negTokenTarg failed: Cannot >> resolve network address for KDC in requested realm >> ----------------------------------------------------------------- >> >> If You need any other information, please let me know. >> Thanks for Your patience! >> >> Cheers, >> Robert >> >> _______________________________________________ >> linux-cifs-client mailing list >> [email protected] >> https://lists.samba.org/mailman/listinfo/linux-cifs-client > > > -- > Jeff Layton <[email protected]> > _______________________________________________ > linux-cifs-client mailing list > [email protected] > https://lists.samba.org/mailman/listinfo/linux-cifs-client > _______________________________________________ linux-cifs-client mailing list [email protected] https://lists.samba.org/mailman/listinfo/linux-cifs-client