<div dir="ltr">And yes, i also need to include -s ipaserver in the get-ipakeytab command, otherwise it kept giving wrong usage error....</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 26, 2016 at 10:29 PM, Teik Hooi Beh <span dir="ltr"><<a href="mailto:thbeh@thbeh.com" target="_blank">thbeh@thbeh.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks. It's working now using ipa-getkeytab.<div><br></div><div>Correct me if I am wrong (as I am new to freeipa), using ktutil I could add multiple user in a keytab file (correct???) but in this case using ipa-getkeytab can I do the same?</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 26, 2016 at 9:15 PM, David Kupka <span dir="ltr"><<a href="mailto:dkupka@redhat.com" target="_blank">dkupka@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On 26/02/16 08:56, David Kupka wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 26/02/16 02:22, Teik Hooi Beh wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I have manged to deployed 1 ipa master and 1 ipa client with success on<br>
centos 7.2 with freeipa v4.2. I also managed to create user and set<br>
sshd-rules to for ttester user and also successfully get krb ticket<br>
using *kinit<br>
ttester@EXAMPLE.MY*. I am trying to deploy password-less SSH login with<br>
kerberos using the following guideĀ  (<br>
<a href="https://uz.sns.it/~enrico/wordpress/2014/03/password-less-ssh-login-with-kerberos/" rel="noreferrer" target="_blank">https://uz.sns.it/~enrico/wordpress/2014/03/password-less-ssh-login-with-kerberos/</a>)<br>
<br>
-<br>
<br>
snippet -<br>
<br>
<br>
<br>
*$ ktutil ktutil: add_entry -password -p ttester@EXAMPLE.MY -k 1 -e<br>
aes256-cts-hmac-sha1-96 ktutil: write_kt keytab*<br>
<br>
When I tried *kinit -kt keytab ttester@EXAMPLE.MY*, I get *"**kinit:<br>
Password incorrect while getting initial credentials"*<br>
Doing a trace using KRB5_TRACE on both calls<br>
<br>
*1. KRB5_TRACE=/dev/stderr kinit ttester@EXAMPLE.MY*<br>
27242] 1456447025.219676: Getting initial credentials for<br>
ttester@EXAMPLE.MY<br>
[27242] 1456447025.222070: Sending request (164 bytes) to EXAMPLE.MY<br>
[27242] 1456447025.222223: Resolving hostname <a href="http://node1.example.my" rel="noreferrer" target="_blank">node1.example.my</a><br>
[27242] 1456447035.238004: Initiating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447035.238675: Sending TCP request to stream <a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447035.241248: Received answer (337 bytes) from stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447035.241257: Terminating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447035.241377: Response was from master KDC<br>
[27242] 1456447035.241437: Received error from KDC:<br>
-1765328359/Additional<br>
pre-authentication required<br>
[27242] 1456447035.241484: Processing preauth types: 136, 19, 2, 133<br>
[27242] 1456447035.241499: Selected etype info: etype aes256-cts, salt<br>
"s`GD^,#=cA:Vr9hD", params ""<br>
[27242] 1456447035.241504: Received cookie: MIT<br>
Password for ttester@EXAMPLE.MY:<br>
[27242] 1456447062.215750: AS key obtained for encrypted timestamp:<br>
aes256-cts/73C6<br>
[27242] 1456447062.215815: Encrypted timestamp (for 1456447062.215315):<br>
plain 301AA011180F32303136303232363030333734325AA1050203034913, encrypted<br>
F9A2E97E916FC14D141690E151A25DCC00168361179C7F0ACDA94C7F58F3D50429780A5608A6B8623E355F2A5BD676F6FA5272D38FD05C8B<br>
<br>
[27242] 1456447062.215942: Preauth module encrypted_timestamp (2) (real)<br>
returned: 0/Success<br>
[27242] 1456447062.215948: Produced preauth for next request: 133, 2<br>
[27242] 1456447062.215965: Sending request (257 bytes) to EXAMPLE.MY<br>
[27242] 1456447062.216010: Resolving hostname <a href="http://node1.example.my" rel="noreferrer" target="_blank">node1.example.my</a><br>
[27242] 1456447072.229254: Initiating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447072.229655: Sending TCP request to stream <a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447072.236955: Received answer (722 bytes) from stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447072.236974: Terminating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27242] 1456447072.237080: Response was from master KDC<br>
[27242] 1456447072.237117: Processing preauth types: 19<br>
[27242] 1456447072.237125: Selected etype info: etype aes256-cts, salt<br>
"s`GD^,#=cA:Vr9hD", params ""<br>
[27242] 1456447072.237131: Produced preauth for next request: (empty)<br>
[27242] 1456447072.237140: AS key determined by preauth: aes256-cts/73C6<br>
[27242] 1456447072.237199: Decrypted AS reply; session key is:<br>
aes256-cts/2A71<br>
[27242] 1456447072.237216: FAST negotiation: available<br>
[27242] 1456447072.237236: Initializing KEYRING:persistent:1000:1000 with<br>
default princ ttester@EXAMPLE.MY<br>
[27242] 1456447072.237275: Storing ttester@EXAMPLE.MY -><br>
krbtgt/EXAMPLE.MY@EXAMPLE.MY in KEYRING:persistent:1000:1000<br>
[27242] 1456447072.237330: Storing config in KEYRING:persistent:1000:1000<br>
for krbtgt/EXAMPLE.MY@EXAMPLE.MY: fast_avail: yes<br>
[27242] 1456447072.237345: Storing ttester@EXAMPLE.MY -><br>
krb5_ccache_conf_data/fast_avail/krbtgt\/EXAMPLE.MY\@EXAMPLE.MY@X-CACHECONF:<br>
<br>
in KEYRING:persistent:1000:1000<br>
[27242] 1456447072.237371: Storing config in KEYRING:persistent:1000:1000<br>
for krbtgt/EXAMPLE.MY@EXAMPLE.MY: pa_type: 2<br>
[27242] 1456447072.237380: Storing ttester@EXAMPLE.MY -><br>
krb5_ccache_conf_data/pa_type/krbtgt\/EXAMPLE.MY\@EXAMPLE.MY@X-CACHECONF:<br>
in KEYRING:persistent:1000:1000<br>
<br>
*2. KRB5_TRACE=/dev/stderr kinit -kt keytab ttester@EXAMPLE.MY*<br>
[27248] 1456447236.144685: Getting initial credentials for<br>
ttester@EXAMPLE.MY<br>
[27248] 1456447236.147107: Looked up etypes in keytab: aes256-cts<br>
[27248] 1456447236.147255: Sending request (164 bytes) to EXAMPLE.MY<br>
[27248] 1456447236.147381: Resolving hostname <a href="http://node1.example.my" rel="noreferrer" target="_blank">node1.example.my</a><br>
[27248] 1456447246.161528: Initiating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447246.161970: Sending TCP request to stream <a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447246.164772: Received answer (337 bytes) from stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447246.164791: Terminating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447246.164904: Response was from master KDC<br>
[27248] 1456447246.164943: Received error from KDC:<br>
-1765328359/Additional<br>
pre-authentication required<br>
[27248] 1456447246.164987: Processing preauth types: 136, 19, 2, 133<br>
[27248] 1456447246.164997: Selected etype info: etype aes256-cts, salt<br>
"s`GD^,#=cA:Vr9hD", params ""<br>
[27248] 1456447246.165001: Received cookie: MIT<br>
[27248] 1456447246.165142: Retrieving ttester@EXAMPLE.MY from FILE:keytab<br>
(vno 0, enctype aes256-cts) with result: 0/Success<br>
[27248] 1456447246.165166: AS key obtained for encrypted timestamp:<br>
aes256-cts/0A17<br>
[27248] 1456447246.165210: Encrypted timestamp (for 1456447246.164647):<br>
plain 301AA011180F32303136303232363030343034365AA1050203028327, encrypted<br>
C092E6C29FC1CD794625CF12162D18767A68D1728E6C2ADC1F50492D6605E039B664213C29767715E04B3CA8D97EBD691BBF40B76370C9FA<br>
<br>
[27248] 1456447246.165224: Preauth module encrypted_timestamp (2) (real)<br>
returned: 0/Success<br>
[27248] 1456447246.165228: Produced preauth for next request: 133, 2<br>
[27248] 1456447246.165239: Sending request (257 bytes) to EXAMPLE.MY<br>
[27248] 1456447246.165253: Resolving hostname <a href="http://node1.example.my" rel="noreferrer" target="_blank">node1.example.my</a><br>
[27248] 1456447256.178637: Initiating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447256.179456: Sending TCP request to stream <a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447256.184929: Received answer (167 bytes) from stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447256.184941: Terminating TCP connection to stream<br>
<a href="http://192.168.38.2:88" rel="noreferrer" target="_blank">192.168.38.2:88</a><br>
[27248] 1456447256.185043: Response was from master KDC<br>
[27248] 1456447256.185065: Received error from KDC: -1765328353/Decrypt<br>
integrity check failed<br>
kinit: Password incorrect while getting initial credentials<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>From the 2 trace I notice the return bytes on return from calling using<br>
</blockquote>
keytab is only 167 bytes compare to 722 bytes. Does anybody know the<br>
reasons or could point me to where I could debug further?<br>
<br>
Thanks<br>
<br>
<br>
<br>
</blockquote>
<br>
Hello!<br>
<br>
I don't know why it does not work with ktutil but I've find other way<br>
how to get keytab for a user:<br>
<br>
$ kinit ttester<br>
$ ipa-getkeytab -p ttester@EXAMPLE.TEST -k ttester.keytab -e<br>
aes256-cts-hmac-sha1-96<br>
$ kdestroy ttester<br>
$ kinit ttester@EXAMPLE.TEST -kt ttester.keytab<br>
<br>
HTH,<br>
<br>
</blockquote>
<br></div></div>
Oh, I forget to mention that this also sets random krbPrincipalKey for the user so you can kinit only with the keytab. ipa-getkeytab has also option -r (--retrive) that should not change krbPrincipalKey but for some reason user is not allowed to retrieve it.<br>
You can of course add ACI to allow that but I would not do it because there's probably good reason why it's forbidden by default.<span><font color="#888888"><br>
<br>
-- <br>
David Kupka<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>