jsqsh
jsqsh copied to clipboard
When connecting to SQL server via keytab warning shown as SPN not available in the keytab file
I have some doubts regarding generating a keytab file for SQL server kerberos authentication.
SQL server's SPN is:
MSSQLSvc/myhost:[email protected]
I have created keytab file as:
ktpass -out "C:\Users\myuser\KerberosConf\MSSQL\myappserver.keytab" -princ MSSQLSvc/myhost:[email protected] -mapUser mydomain\myuser-pass Test@123 -crypto AES256-SHA1 -pType KRB5_NT_PRINCIPAL
When viewing the keytab it shows the correct SPN as:
[1] Service principal: MSSQLSvc/myhost:[email protected] KVNO: 18
But while referring the keytab file for authenticating it throws the below error:
Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator true KeyTab is C:/Users/myuser/KerberosConf/MSSQL/myappserver.keytab refreshKrb5Config is false principal is MSSQLSvc/myhost:[email protected] tryFirstPass is false useFirstPass is false storePass is false clearPass is false Key for the principal MSSQLSvc/myhost:[email protected] not available in C:/Users/myuser/KerberosConf/MSSQL/myappserver.keytab
[Krb5LoginModule] authentication failed Unable to obtain password from user
javax.security.auth.login.LoginException: Unable to obtain password from user at com.sun.security.auth.module.Krb5LoginModule.promptForPass(Unknown Source) at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Unknown Source) at com.sun.security.auth.module.Krb5LoginModule.login(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Please kindly help me to resolve the message "Key for the principal MSSQLSvc/myhost:[email protected] not available in C:/Users/myuser/KerberosConf/MSSQL/myappserver.keytab"