OpenLDAP Fedora client ssh

Üdv,

Beállítottam az openldap-ot egy AWS szerveren (teszt):

Server: https://www.server-world.info/en/note?os=Fedora_35&p=openldap&f=1

Client: https://www.server-world.info/en/note?os=Fedora_35&p=openldap&f=3

 

LDAP browser-rel távolról szépen látom a Tree-t.

A kliensen mi kell hogy az ssh is ldap-ból autentikáljon?

Hozzászólások

A kliensen semmi, a szerveren mondjuk sssd, és megmondani neki, hogy LDAP backend van mögötte.

https://www.server-world.info/en/note?os=Fedora_35&p=openldap&f=3

A kliensen kell az sssd (leírás szerint is). De valami hiányzik (?).

~# authselect select sssd with-mkhomedir --force
Profile "sssd" was selected.
The following nsswitch maps are overwritten by the profile:
- passwd
- group
- netgroup
- automount
- services

Nekem ezt nem írta ki:

- passwd

- group

- netgroup

- automount

- services

Szerintem elbeszéltek egymás mellett. Azt kéne a kérdésfelvetőnek precízen leírnia, hogy *szerinte* milyen szerver és milyen kliens, és azon a kliensen mit is akar az ssh-val. Ugyanis tippre neki ott (LDAP-)szerver és (LDAP-)kliens, és - mondjuk - *erre* a kliensre akarna belépni ssh-val, vagy *erről* a kliensről akar ssh-val belépni (de hova?)

Két Fedora VM-ről beszélek, ahogy az említett leírás is. Ez lenne a lényege.

Adott egy Fedora szerver: openldap, tűzfal beállítva.

Adott egy másik Fedora, ez a kliens: itt is szeretnék a fenti Fedora szerverről ldap-ból autentikálni. (Központi címtár)

Szóval ssh-val akarsz a kliensre menni? (Mert amíg fenti lista szerint az nsswitch-ben nem lesz felülbírálva a passwd és a group, addig ott nem fog a lokális adatbázison kívül máshoz fordulni.)

Szerintem az általad linkelt 2. oldal tartalmazza a lényeges részt: az sssd.conf-ban a [domain/default] és az [sssd] stanzák kell, hogy jól legyenek belőve.

Amúgy minden (szerver és kliens) konfigban jól lettek lecserélve a domain nevek a sajátodra? Mert eléggé nagyvonalúan szerepel a leírásban, hogy itt egy "srv.world", 2-tagból álló nevű domain-ben (tartományban) állítjuk be az LDAP-ot, ezért kb. bárhol ahol "srv" meg "world" szavak vannak, ott az saját valódi tartományneved tagjait kell helyette használni. És pl. ha a te tartományneved "kis.kutya.füle" (3 tagú tartománynév), akkor a példákban szereplő "dc=srv,dc=world" helyett "dc=kis,dc=kutya,dc=füle" írandó. (pl. a chdomain.ldif fájlban, a basedomain.ldif-ben, de ezen kívül az ldapadd parancsban is - azaz mindenütt). Egy helyen rossz a domain megadása (pl. a kliensen) - és máris bukod a dolgot.

Szerkesztve: 2024. 05. 09., cs – 13:46

Az amit ott leír SSSD például...

Tanács: enforce-old a TLS az LDAP porton, vagy ki se nyisd tűzfalon, csak az LDAPS-t, még véletlenül se menjen semmi titkosítatlanul.

"Sose a gép a hülye."

Szerkesztve: 2024. 05. 10., p – 07:02

Az ssh nem fog ldapbol authentikalni. Az sssd, nswitch fogja az uid, gid adatbazist az ldapbol szedni. Az ldap-nak es az ssh-nak semmi koze egymashoz.

Nezd meg hogy ha beirod "id <ldapban letrehozott uses>" visszaadja e. Aztan mehet a "getent passwd <ldapban letrehozott user>" meg a "getent gorup .." . Ha ezek szepen visszaadjak a kliensen az ldap adatait akkor mennie kell. Mert majd az nswitch odaadja a usernevet meg a passwordot az ldap-bol az ldapos felhasznalonak.

szoval az ssh nem authentikal ldap-bol, a felhasznalo authentikal. A felhasznalo meg az ldap-bol jon.

Ez már a 2. lépés. Előtte - előbb a szerveren, aztán a kliensen - addig kell játszani, amíg az ldapsearch rendesen felparaméterezve értelmes kérdésekre értelmes válaszokat, buta kérdésekre meg hibaüzenetet ad vissza. És amikor ezek már jól mennek, akkor lehet piszkálni az sssd-t, nsswitch-et (és PAM-ot)  azokon a gépeken, amiknél azt szeretnénk, hogy LDAP-ból menjen az auth.

a kerdezo azt irta, hogy valami ldap ui-val tudja az ldapot listazni a "kliens" geprol, szoval akkor meg is vagyunk az elso lepessel. :D

azt is modta, hogy az sssd-t beallitotta, mondjuk legyen ez a masodik

akkor a getent meg az id lenne a harmadik, amit irtam. Mert ugye hiaba van beallitva valami, azert valahogy csak meg kellene nezni hogy mukodik e. na erre van a getent, pl. Amig az nem ad vissza ertelmes dolgokat addig a masodik lepcson kell rugozni, azaz az sssd beallitasan (amugy kb egyszeru mint a faek)

99%-ban egyetértek veled, de mivel nekem semmit nem mond az LDAP browser, nem hiszek benne, hogy az a rendszerbe bekonfigurált nsswitch és pam mechanizmusokat (és így a sssd-t) használná. Lehet, hogy azt csinálja, lehet, hogy nem. No ezért javasoltam az ldapsearch-öt.

szerintem itt egy olyan gui-ra gondol a kolto, ami kiadja helyette az ldapsearch-ot (mint pl az Apache Directory Studio). Amikor rengeteg LDAP-ot manageltem meg (ugy 300-400 darabot), akkor azert nem szarakodtam az ldapsearch-okkel, hanem inkabb gui-t hasznaltam. Persze volt hogy ldif-eket toltottem csak bele a gui-ba, szoval az mehetett volna cli-bol is. :D

Igazabol mondhattuk volna azt is:

1. telnettel, ldapsearch-el, mittomenmivel ellenorizd a kliensrol az ldaphoz valo hozzaferest (transport)

2. configuralt az auth-ot hogy az ldapot hasznalja (sssd, nsswitch)

3. ellenorizd hogy az auth hasznalja e az ldap-ot (getent, id, stb)

4. happy :D 

Az elso 3 lepes elegge egyszeru :D