Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
guides:freeipa [2017/05/03 03:13] jamesdro Trim up the config |
guides:freeipa [2017/11/29 21:11] (current) jamesdro NTP is important, mmkay |
||
---|---|---|---|
Line 4: | Line 4: | ||
===== Server ===== | ===== Server ===== | ||
Basically follow [this](https://www.freeipa.org/page/Quick_Start_Guide). Also DNS is _suuuuuuupppppeeeerrrrr_ important. | Basically follow [this](https://www.freeipa.org/page/Quick_Start_Guide). Also DNS is _suuuuuuupppppeeeerrrrr_ important. | ||
+ | |||
+ | As a note, you should install `libsss_sudo`. Otherwise you might get this error: | ||
+ | |||
+ | ``` | ||
+ | sudo: unable to load /usr/lib64/libsss_sudo.so: /usr/lib64/libsss_sudo.so: cannot open shared object file: No such file or directory | ||
+ | sudo: unable to initialize SSS source. Is SSSD installed on your machine? | ||
+ | ``` | ||
+ | |||
+ | When running sudo on the server. | ||
===== Client ===== | ===== Client ===== | ||
- | On RHEL based ones, install `freeipa-client`. Super easy. However, if you're on debian-master-race, you don't need hand holding and an "automated client". Let's dig into some config files. | + | On RHEL based ones (and Ubuntu 16.04), install `freeipa-client`. Super easy. Then run: |
+ | |||
+ | ``` | ||
+ | ipa-client-install --mkhomedir --enable-dns-updates --ssh-trust-dns | ||
+ | ``` | ||
+ | |||
+ | However, if you're on debian-master-race, you don't need hand holding and an "automated client". Let's dig into some config files. | ||
===== Debian Installation ===== | ===== Debian Installation ===== | ||
Line 15: | Line 30: | ||
- Grab your krb5.keytab, and dump it to `/etc/krb5.keytab` | - Grab your krb5.keytab, and dump it to `/etc/krb5.keytab` | ||
- `ipa-getkeytab -p host/name.ubnetdef.net -k /tmp/keytab` | - `ipa-getkeytab -p host/name.ubnetdef.net -k /tmp/keytab` | ||
+ | - Grab the CA cert (`/etc/ipa/ca.crt` on the FreeIPA server) and save it to `/etc/sssd/ipa.crt` | ||
- Append the following line to `/etc/pam.d/common-session` | - Append the following line to `/etc/pam.d/common-session` | ||
- `session required pam_mkhomedir.so skel=/etc/skel/` | - `session required pam_mkhomedir.so skel=/etc/skel/` | ||
+ | - Append the following lines to `/etc/ssh/sshd_config` to allow public key logins | ||
+ | - `AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys` | ||
+ | - `AuthorizedKeysCommandUser nobody` | ||
+ | - Append the following line to `/etc/systemd/timesyncd.conf` | ||
+ | - `Servers=tick.cse.buffalo.edu tock.cse.buffalo.edu ticktock.cse.buffalo.edu` | ||
+ | - Enable NTP: `timedatectl set-ntp yes` | ||
- GG, you're done. | - GG, you're done. | ||
Line 35: | Line 57: | ||
# Configure sudo | # Configure sudo | ||
ldap_uri = ldaps://master.ubnetdef.net | ldap_uri = ldaps://master.ubnetdef.net | ||
+ | ldap_tls_cacert = /etc/sssd/ipa.crt | ||
ldap_sudo_search_base = ou=sudoers,dc=ubnetdef,dc=net | ldap_sudo_search_base = ou=sudoers,dc=ubnetdef,dc=net | ||
ldap_sasl_mech = GSSAPI | ldap_sasl_mech = GSSAPI |