informatica:linux:ssh_contra_ldap
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatica:linux:ssh_contra_ldap [2013/08/06 16:02] – javi | informatica:linux:ssh_contra_ldap [2015/08/24 19:35] (current) – jose | ||
---|---|---|---|
Line 5: | Line 5: | ||
**Objetivo**: | **Objetivo**: | ||
- | **Nota**: la configuracion es 100% local, no hay que tocar el servidor LDAP | + | **Nota |
+ | |||
+ | **Nota 2**: mejor usar /bin/bash como consola (editar ese campo en el servidor LDAP). Tiene autocompletion, | ||
En este ejemplo: | En este ejemplo: | ||
Line 13: | Line 15: | ||
* Requiere TLS, pero el certificado esta autofirmado, | * Requiere TLS, pero el certificado esta autofirmado, | ||
* Detalle de los usuarios y grupos que usaremos en el ejemplo:\\ | * Detalle de los usuarios y grupos que usaremos en el ejemplo:\\ | ||
+ | |||
+ | ==== Servidor de LDAP ==== | ||
**Usuarios** | **Usuarios** | ||
+ | |||
+ | MUY IMPORTANTE QUE ESTÉN CREADOS ASÍ!!! (tiene que tener el campo uid) | ||
+ | |||
< | < | ||
dn: ou=people, | dn: ou=people, | ||
Line 25: | Line 32: | ||
givenname: Name | givenname: Name | ||
homedirectory: | homedirectory: | ||
- | loginshell: /bin/sh | + | loginshell: /bin/bash |
objectclass: | objectclass: | ||
objectclass: | objectclass: | ||
Line 51: | Line 58: | ||
===== Procedimiento ===== | ===== Procedimiento ===== | ||
+ | ==== Cliente | ||
1. Instalar paquetes: | 1. Instalar paquetes: | ||
- | sudo aptitude | + | sudo aptitude |
| | ||
2. Pulsar " | 2. Pulsar " | ||
Line 62: | Line 70: | ||
sudo / | sudo / | ||
| | ||
- | 4. Comprobar que el archivo: | + | 4. Editar: |
- | | + | |
+ | sudo vim / | ||
| | ||
- | Contiene la siguiente configuracion: | + | Y dejar las siguientes lineas asi: |
< | < | ||
Line 72: | Line 81: | ||
group: | group: | ||
shadow: | shadow: | ||
- | |||
- | hosts: | ||
- | networks: | ||
- | |||
- | protocols: | ||
- | services: | ||
- | ethers: | ||
- | rpc: db files | ||
- | |||
- | netgroup: | ||
</ | </ | ||
Line 100: | Line 99: | ||
# The location at which the LDAP server(s) should be reachable. | # The location at which the LDAP server(s) should be reachable. | ||
- | uri ldaps:// | + | uri ldaps:// |
# The search base that will be used for all queries. | # The search base that will be used for all queries. | ||
Line 123: | Line 122: | ||
6. Probamos: | 6. Probamos: | ||
+ | Para ver los usuarios del LDAP que no estén en / | ||
+ | getent passwd | ||
+ | Probamos de conectar: | ||
ssh -l user1 servidor1.example.com | ssh -l user1 servidor1.example.com | ||
- | | + | |
+ | === Método 2 === | ||
+ | Actualmente se configura al instalar el paquete: | ||
+ | #apt-get install libpam-ldapd | ||
+ | Ponemos el servidor de LDAP, el dominio (por ejemplo dc=matarosensefils, | ||
+ | passwd | ||
+ | group | ||
+ | shadow | ||
====== sudo como grupo LDAP ====== | ====== sudo como grupo LDAP ====== | ||
| | ||
Line 130: | Line 140: | ||
* Crear un grupo en LDAP que se llame por ejemplo " | * Crear un grupo en LDAP que se llame por ejemplo " | ||
+ | |||
+ | < | ||
+ | # LDIF Export for cn=ldapsudo, | ||
+ | # Server: | ||
+ | # Search Scope: sub | ||
+ | # Search Filter: (objectClass=*) | ||
+ | # Total Entries: 1 | ||
+ | # | ||
+ | # Generated by phpLDAPadmin (http:// | ||
+ | # Version: 1.2.3 | ||
+ | |||
+ | version: 1 | ||
+ | |||
+ | # Entry 1: cn=ldapsudo, | ||
+ | dn: cn=ldapsudo, | ||
+ | cn: ldapsudo | ||
+ | gidnumber: 10003 | ||
+ | memberuid: user1.surename1 | ||
+ | memberuid: user2.surename2 | ||
+ | objectclass: | ||
+ | objectclass: | ||
+ | </ | ||
+ | |||
* Que ese grupo sea el que determine que un usuario pertenece al selecto grupo de los " | * Que ese grupo sea el que determine que un usuario pertenece al selecto grupo de los " | ||
Line 140: | Line 173: | ||
sudo aptitude install sudo-ldap | sudo aptitude install sudo-ldap | ||
| | ||
- | **Nota 1**: instala como dependencia " | + | **Nota 1**: instala como dependencia " |
**Nota 2**: modifica el archivo / | **Nota 2**: modifica el archivo / | ||
Line 158: | Line 192: | ||
6. (Comprobar) Creo que es necesario cerrar todas las sesiones abiertas y ya se puede comprobar | 6. (Comprobar) Creo que es necesario cerrar todas las sesiones abiertas y ya se puede comprobar | ||
+ | |||
+ | ====== Crear directorio /home al hacer primer login ====== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Requisito: tener instalado el paquete **libpam-ldapd** | ||
+ | |||
+ | 1. Editar: | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Con la siguiente linea: | ||
+ | |||
+ | session | ||
+ | | ||
+ | ====== SSH solo a los miembros de un grupo ====== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | **TODO**: hacer que funcione con grupos LDAP de tipo " | ||
+ | |||
+ | **NOTA**: mientras estamos haciendo pruebas nos aseguramos de que el demonio ' | ||
+ | |||
+ | 0. (Servidor SSH) Instalar libpam-modules (seguramente ya instalados): | ||
+ | |||
+ | sudo aptitude update; sudo aptitude install libpam-modules | ||
+ | |||
+ | 1. (Servidor LDAP) crear un grupo de tipo " | ||
+ | |||
+ | < | ||
+ | dn: cn=ldapssh, | ||
+ | cn: ldapssh | ||
+ | description: | ||
+ | nisnetgrouptriple: | ||
+ | objectclass: | ||
+ | objectclass: | ||
+ | </ | ||
+ | |||
+ | El usuario ' | ||
+ | |||
+ | TODO: para poder añadir mas de un usuario he tenido que modificar el schema de nis: | ||
+ | olcAttributeTypes: | ||
+ | | ||
+ | Por: | ||
+ | olcAttributeTypes: | ||
+ | oup triple' | ||
+ | |||
+ | |||
+ | |||
+ | 2. (Servidor SSH) Editamos: | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Y dejamos la linea asi: | ||
+ | |||
+ | auth required | ||
+ | auth required | ||
+ | |||
+ | **NOTA**: si solo dejamos " | ||
+ | |||
+ | 3. (Servidor SSH) Nos aseguramos que los [[http:// | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Y dejamos la linea asi: | ||
+ | |||
+ | netgroup: | ||
+ | |||
+ | 4. (Servidor SSH) Comprobamos que los netgroup tambien los toma del servidor LDAP: | ||
+ | |||
+ | sudo getent netgroup ldapssh | ||
+ | |||
+ | Salida esperada: | ||
+ | |||
+ | ldapssh | ||
+ | |||
+ | 5. (Servidor SSH) Especificamos quien puede acceder y quien no. En este caso damos acceso al usuario local ' | ||
+ | |||
+ | sudo cp / | ||
+ | sudo vim / | ||
+ | | ||
+ | Con el siguiente contenido: | ||
+ | |||
+ | < | ||
+ | + : @ldapssh localuser : ALL | ||
+ | - : ALL : ALL | ||
+ | </ | ||
+ | |||
+ | |||
+ |
informatica/linux/ssh_contra_ldap.1375804943.txt.gz · Last modified: 2015/04/13 20:19 (external edit)