Am un server TACACS+ și un client Ubuntu 20.04 vm. Am descărcat pachetul libpam-tacplus și am făcut pașii 7 și 8 de la acest Răspuns. Dacă utilizatorul există pe VM, pot folosi cu succes serverul TACACS+ pentru autentificare.
Este necesar ca utilizatorii să existe doar pe serverul TACACS+ și nu în interiorul vm. Pentru a realiza asta am descărcat acest și l-am instalat/configurat urmând instrucțiunile din readme.
Mă conectez prin ssh la vm, dar nu mă pot autentifica. Jurnalul serverului spune „pap login succeeded”, dar consola ssh spune „Acces denied”.
Bănuiesc că ceva este în neregulă cu fișierele mele pam.d, dar nu sunt sigur ce.
Aici fișierele/jurnalele relevante:
pam.d/tacacs
#%PAM-1.0
auth sufficient /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 timeout=5 secret=secretkey
cont suficient /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 timeout=5 secret=secretkey service=shell protocol=ssh
sesiune suficientă /usr/lib/security/pam_tacplus.so server de depanare=1.2.3.4 timeout=5 secret=secretkey service=shell protocol=ssh
pam.d/sshd
#%PAM-1.0
auth [success=0 default=ignore] /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 secret=secretkey
#auth include tacacuri
contul include tacacuri
sesiune includ tacacuri
#
#
#auth necesar pam_sepermit.so
#auth substiva password-auth
#auth include postlogin
# Folosit cu polkit pentru a reautoriza utilizatorii în sesiuni la distanță
#-auth opțional pam_reauthorize.so pregătiți
#account required pam_nologin.so
#account include password-auth
#parola include parola-auth
# pam_selinux.so close ar trebui să fie prima regulă de sesiune
#session required pam_selinux.so close
#sesiune necesară pam_loginuid.so
# pam_selinux.so open ar trebui să fie urmat doar de sesiuni care să fie executate în contextul utilizatorului
#session required pam_selinux.so deschide env_params
#session necesar pam_namespace.so
#session opțional pam_keyinit.so forță revocare
#session include parola-auth
#session include postlogin
# Folosit cu polkit pentru a reautoriza utilizatorii în sesiuni la distanță
#-session opțional pam_reauthorize.so pregătiți
/var/log/auth.log după introducerea numelui de utilizator
3 septembrie 13:52:22 ubuntuvm sshd[18024]: tacacsSSH
3 septembrie 13:52:22 ubuntuvm sshd[18024]: numele tacacs este tacacs_user, pw_dir = /home/tacacs_user, pw_shell =
3 septembrie 13:52:22 ubuntuvm sshd[18024]: tacacsSSH 102
3 septembrie 13:52:22 ubuntuvm sshd[18024]: Numele copiat în structura passwd este testuser
3 septembrie 13:52:22 ubuntuvm sshd[18024]: Parola copiată în structura passwd este o
Sep 3 13:52:22 ubuntuvm sshd[18024]: PAM pam_parse: așteptând non-zero; [... implicit=ignora]
3 septembrie 13:52:22 ubuntuvm sshd[18024]: PAM pam_parse: așteptăm valoarea returnată; [...suficient]
/var/log/auth.log după introducerea parolei
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: 1 servere definite
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: server[0] { addr=1.2.3.4, key='********' }
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: tac_service=''
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: tac_protocol=''
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: tac_prompt=''
3 septembrie 13:52:29 ubuntuvm PAM-tacplus[18024]: tac_login=''
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: numit (pam_tacplus v1.3.8)
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: utilizator [testuser] obținut
3 septembrie 13:52:29 ubuntuvm sshd[18024]: tacacs_get_password: numit
3 septembrie 13:52:29 ubuntuvm sshd[18024]: tacacs_get_password: a obținut parola
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: parola obținută
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: tty [ssh] obținut
Sep 3 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: rhost [1.2.3.5] obtinut
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: trying srv 0
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: active srv 0
3 septembrie 13:52:29 ubuntuvm sshd[18024]: pam_sm_authenticate: ieșire cu starea pam: 0
3 septembrie 13:52:29 ubuntuvm sshd[18024]: parolă eșuată pentru testuser din portul 1.2.3.5 49413 ssh2
Ca server TACACS+, îl folosesc pe acesta: https://tacacsgui.com/