Hello Joven,

Does the admin account effectively exist under cn=sysaccounts,cn=etc,dc=grcph,dc=local" ?

I think you should either use:
(admin under cn=users,cn=accounts)

   -D "uid=admin,cn=users,cn=accounts,dc=grcph,dc=local"  \
   -w "password" \

where "password" has to be your FreeIPA admin password

OR:

   -D "uid=solaris,cn=sysaccounts,cn=etc,dc=grcph,dc=local"  \
   -w "strongPassword" \


According to your modifications, I believe the script should be:

   ::::::::::::::
   /opt/local/bin/ssh-ldap-pubkey-wrapper.sh
   ::::::::::::::
   #!/bin/bash

   /opt/local/bin/ldapsearch -LLL -x -u \
   -o ldif-wrap=no \
   -h ipatest.grcph.local \
   -D "uid=solaris,cn=sysaccounts,cn=etc,dc=grcph,dc=local"  \
   -w "strongPassword" \
   -b "dc=grcph,dc=local" \
   '(&(objectClass=posixAccount)(uid='"$1"'))' \
   ipaSshPubKey | sed -n 's/^[ \t]*ipaSshPubKey:[ \t]*\(.*\)/\1/p'

You could try these simplified commands, to see if you get any output:

   /opt/local/bin/ldapsearch -LLL -x -h  ipatest.grcph.local  -D 
"uid=solaris,cn=sysaccounts,cn=etc,dc=grcph,dc=local" -w strongPassword  -b 
'dc=grcph,dc=local'  'objectclass=*'
   /opt/local/bin/ldapsearch -LLL -x -h  ipatest.grcph.local  -D 
"uid=admin,cn=users,cn=accounts,dc=grcph,dc=local" -w strongPassword  -b 
'dc=grcph,dc=local'  'objectclass=*'

If this doesn't work for you, it would be interesting to see which error messages these commands return.

If these commands return some output, then you could check with grep if there is any pubkey in there, by adding:

   | grep -i sshpubkey

You could also compare the output of "ldapclient list" with mine here below:
(I think the last line here is of great importance to get it working)

   [root@smbase3 ~]# ldapclient list
   NS_LDAP_FILE_VERSION= 2.0
   NS_LDAP_BINDDN= uid=solaris,cn=sysaccounts,cn=etc,dc=example,dc=com
   NS_LDAP_BINDPASSWD= {NS1}c589488685b73567a5a52ca1bd18
   NS_LDAP_SERVERS= lxipa.example.com
   NS_LDAP_SEARCH_BASEDN= dc=example,dc=com
   NS_LDAP_AUTH= none
   NS_LDAP_SEARCH_REF= TRUE
   NS_LDAP_SEARCH_TIME= 15
   NS_LDAP_PROFILE= default
   NS_LDAP_SERVICE_SEARCH_DESC= passwd:cn=users,cn=accounts,dc=example,dc=com
   NS_LDAP_SERVICE_SEARCH_DESC= group:cn=groups,cn=compat,dc=example,dc=com
   NS_LDAP_BIND_TIME= 5
   NS_LDAP_OBJECTCLASSMAP= shadow:shadowAccount=posixAccount

kind regards
Stefan

On 03/11/17 05:32, Joven Sabanal wrote:
Hi Stefan,

Thanks for this guide and I tried to do as what indicated on your guide. But I couldn't get it work.

May I know what setup did you do on your FreeIPA server?

Also, using the script that you provide:

​
::::::::::::::
/opt/local/bin/ssh-ldap-pubkey-wrapper.sh
::::::::::::::
#!/bin/bash

/opt/local/bin/ldapsearch -LLL -x -u \
-o ldif-wrap=no \
-h ipatest.g <http://ipaserver.example.com/>rcph.local \
-D "uid=admin,cn=sysaccounts,cn=etc,dc=grcph,dc=local" \
-w "password" \
-b "dc=grcph,dc=local" \
'(&(objectClass=posixAccount)(uid='"$1"'))' \
ipaSshPubKey | sed -n 's/^[ \t]*ipaSshPubKey:[ \t]*\(.*\)/\1/p'


​​Modified it and try to run, it doesn't return any output:

Inline image 1
​


Thanks and Regards,


​Joven D. ​

Please consider the environment before printing this email.
------------------------------------------------------------------------------------
Confidentiality Notice | This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential or proprietary information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, immediately contact the sender by reply e-mail and destroy all copies of the original message.


On Thu, Nov 2, 2017 at 5:59 AM, Stefan Eestermans <ste...@optaris.be <mailto:ste...@optaris.be>> wrote:

    Hello

    I've been fighting with FreeIPA and SmartOS for while now and had
    this sorted out. It's just that there is no sssd for SmartOS and
    hence it doesn't work out of the box.

    Normally, it shouldn't be to hard to get it working once you have
    the ldap client on SmartOS connected to the FreeIPA directory
    server.  I'll paste here below a recent post of my new blog
    (https://blog.soholabs.org), dedicated to SmartOS and related
    technologies as a lab environment.

    So, if I understood the situation well: the SmartOS LDAP client is
    up and running and is communicating with the FreeIPA directory
    server, but ssh doesn't seem to take into account the public keys
    that are stored in the directory server.

    In order to facilitate this, you have to make sure that the ssh
    daemon is able to obtain these keys from the directory server. In
    comparison, the two lines of importance in the
    /etc/ssh/sshd_config file on a CentOS FreeIPA client installation are:

        AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
        AuthorizedKeysCommandUser nobody

    The AuthorizedKeysCommand parameter refers to the command that
    obtains the public keys from the directory server. Unfortunately
    there is no equivalent binary on SmartOS because it lacks the sssd
    software on the client side.

    Luckily, it is not much of an issue because it is rather easy for
    an LDAP client to obtain this information from the directory
    server. While there are certainly a variety of solutions available
    on the Internet, at first sight I found them often too
    sophisticated for what I needed. So, I decided to limit the
    solution to a bash script file that encapsulates a ldapsearch
    command which will fetch the public keys from the directory server.

    These few lines here below are enough to fetch the keys and to
    make sed print only the information needed: the user's public keys.

    ​​
    ::::::::::::::
    /opt/local/bin/ssh-ldap-pubkey-wrapper.sh
    ::::::::::::::
    #!/bin/bash

/opt/local/bin/ldapsearch -LLL -x -u \
-o ldif-wrap=no \
-h ipaserver.example.com <http://ipaserver.example.com> \
-D "uid=solaris,cn=sysaccounts,cn=etc,dc=example,dc=com" \
-w "strongPassword" \
-b "dc=example,dc=com" \
'(&(objectClass=posixAccount)(uid='"$1"'))' \
ipaSshPubKey | sed -n 's/^[ \t]*ipaSshPubKey:[ \t]*\(.*\)/\1/p'

We use the uid=solaris,cn=sysaccounts,cn=etc account with the
strongPassword (literally) to avoid that we have to expose any
user account's credentials in the script file.

This script takes one argument, which is the "user" who makes the
ssh login. As we will see later on, the sshd_config file allows to
refer to the user via %u. Make sure the script has the execution
bits set and give it a try with a user name defined in the
directory server. This command should list the public keys of user1:

/opt/local/bin/ssh-ldap-pubkey-wrapper.sh  user1

Once the script provides the public keys as expected, we can
integrate it in the sshd_config file. Find the line with
AuthorizedKeysCommand or add following lines to /etc/ssh/sshd_config:

AuthorizedKeysCommand /opt/local/bin/ssh-ldap-pubkey-wrapper.sh %u
AuthorizedKeysCommandUser nobody

To take this configuration change into account we have to restart
the ssh daemon with the command:

sudo svcadm restart ssh

While making the first connection attempts via ssh, it might be
valuable to keep an eye on the log file on the ssh target system
for more information in case of connection failures.

sudo tail -f /var/log/authlog

Make sure the user has its home directory available on the target
system. That's all it takes to ssh login without password and
without any local ~/.ssh/authorized_keys file.

Beware, locally provided public keys in ~/.ssh/authorized_keys
will still allow the user to ssh-login. This procedure is
facilitating ssh-login based on public keys stored in the
directory server, but it is not limiting access to these public
keys. Other sshd_config changes are needed to enforce this.

kind regards

Stefan

On 03/10/17 06:06, Shridhar Daithankar wrote:

On Monday 2 October 2017 11:57:34 AM IST Joven Sabanal wrote:

​Hi,

I'm trying to connect SmartOS Zone VM on FreeIPA but I
cannot get it work.
I use this link as reference.

https://www.redhat.com/archives/freeipa-users/2014-April/msg00128.html
<https://www.redhat.com/archives/freeipa-users/2014-April/msg00128.html>

I follow on what's indicated on the link. I only register
the Zone VM to
FreeIPA domain. I can see also that the VM is connection
to the domain by
running "ldaplist".

Problem now is when I try to login using SSH and use the
user that I
created on FreeIPA, it cannot login.

Anyone did try the same setup as mine?

Appreciate any advice and recommendation. Thanks in advanced.

Adding a me too here. I can join lxc containers to AD domain
using sssd(realm
join etc.) in a jiffy but SmartOS lx branded zones are unable
to join the AD.

I could threw in the hand-made kerberos authentication
configuration and
create the users by hand, so not much was lost. but sssd
definitely didn't
work and I couldn't spend much time investigating it either.

<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
      Virus-free. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>

*smartos-discuss* | Archives
<https://www.listbox.com/member/archive/184463/=now>
<https://www.listbox.com/member/archive/rss/184463/27758512-5d74f0b7>
| Modify <https://www.listbox.com/member/?&;> Your Subscription [Powered by Listbox] <http://www.listbox.com>




-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com

Reply via email to