ฉันมีเซิร์ฟเวอร์ TACACS+ และไคลเอนต์ Ubuntu 20.04 vm ฉันดาวน์โหลดแพ็คเกจ libpam-tacplus และทำตามขั้นตอนที่ 7 และ 8 จาก นี้ คำตอบ. หากมีผู้ใช้อยู่บน vm ฉันสามารถใช้เซิร์ฟเวอร์ TACACS+ เพื่อตรวจสอบสิทธิ์ได้สำเร็จ
จำเป็นที่ผู้ใช้จะต้องอยู่บนเซิร์ฟเวอร์ TACACS+ เท่านั้น ไม่ได้อยู่ใน vm เพื่อให้บรรลุที่ฉันดาวน์โหลด นี้ และติดตั้ง/กำหนดค่าตามคำแนะนำจาก readme
ฉันเชื่อมต่อผ่าน ssh กับ vm แต่ฉันไม่สามารถเข้าสู่ระบบได้ บันทึกของเซิร์ฟเวอร์แจ้งว่า "pap login สำเร็จ" แต่คอนโซล ssh แจ้งว่า "Access reserved"
ฉันสงสัยว่ามีบางอย่างผิดปกติกับไฟล์ pam.d ของฉัน แต่ฉันไม่แน่ใจว่าเกิดอะไรขึ้น
นี่คือไฟล์/บันทึกที่เกี่ยวข้อง:
pam.d/tacacs
#%PAM-1.0
รับรองความถูกต้องเพียงพอ /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 timeout=5 secret=secretkey
บัญชีเพียงพอ /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 timeout=5 secret=secretkey service=shell protocol=ssh
เซสชันเพียงพอ /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 timeout=5 secret=secretkey service=shell protocol=ssh
pam.d/sshd
#%PAM-1.0
รับรองความถูกต้อง [success=0 default=ignore] /usr/lib/security/pam_tacplus.so debug server=1.2.3.4 secret=secretkey
#auth รวมแทค
บัญชีรวมแทค
เซสชั่นรวมถึง tacacs
#
#
#auth ที่จำเป็น pam_sepermit.so
#auth substack รหัสผ่าน-auth
#auth รวมถึง postlogin
# ใช้กับ polkit เพื่ออนุญาตผู้ใช้อีกครั้งในเซสชันระยะไกล
#-auth ตัวเลือก pam_reauthorize.so เตรียม
#บัญชีที่จำเป็น pam_nologin.so
#account รวมรหัสผ่าน-auth
#password รวมถึงรหัสผ่าน-auth
# pam_selinux.so close ควรเป็นกฎเซสชันแรก
#เซสชั่นที่จำเป็น pam_selinux.so ปิด
#เซสชันที่จำเป็น pam_loginuid.so
# pam_selinux.so open ควรตามด้วยเซสชันที่จะดำเนินการในบริบทของผู้ใช้เท่านั้น
#เซสชันที่จำเป็น pam_selinux.so เปิด env_params
#session ที่จำเป็น pam_namespace.so
#session ไม่บังคับ pam_keyinit.so บังคับเพิกถอน
#session รวมรหัสผ่าน-auth
#session รวมถึง postlogin
# ใช้กับ polkit เพื่ออนุญาตผู้ใช้อีกครั้งในเซสชันระยะไกล
#-session ตัวเลือก pam_reauthorize.so เตรียม
/var/log/auth.log หลังจากป้อนชื่อผู้ใช้
3 ก.ย. 13:52:22 น. ubuntuvm sshd[18024]: tacacsSSH
3 กันยายน 13:52:22 น. ubuntuvm sshd[18024]: ชื่อ tacacs คือ tacacs_user, pw_dir = /home/tacacs_user, pw_shell =
3 ก.ย. 13:52:22 น. ubuntuvm sshd[18024]: tacacsSSH 102
3 กันยายน 13:52:22 ubuntuvm sshd[18024]: ชื่อที่คัดลอกไปยังโครงสร้าง passwd คือผู้ทดสอบ
3 กันยายน 13:52:22 ubuntuvm sshd[18024]: รหัสผ่านที่คัดลอกไปยังโครงสร้าง passwd คือ
3 ก.ย. 13:52:22 น. ubuntuvm sshd[18024]: PAM pam_parse: คาดว่าไม่ใช่ศูนย์; [... default=ละเว้น]
3 กันยายน 13:52:22 น. ubuntuvm sshd[18024]: PAM pam_parse: คาดหวังผลตอบแทน; [...พอเพียง]
/var/log/auth.log หลังจากป้อนรหัสผ่าน
3 ก.ย. 13:52:29 น. ubuntuvm PAM-tacplus[18024]: กำหนด 1 เซิร์ฟเวอร์
3 ก.ย. 13:52:29 น. ubuntuvm PAM-tacplus[18024]: เซิร์ฟเวอร์[0] { addr=1.2.3.4, key='********' }
3 กันยายน 13:52:29 น. ubuntuvm PAM-tacplus[18024]: tac_service=''
3 กันยายน 13:52:29 น. ubuntuvm PAM-tacplus[18024]: tac_protocol=''
3 กันยายน 13:52:29 น. ubuntuvm PAM-tacplus[18024]: tac_prompt=''
3 กันยายน 13:52:29 น. ubuntuvm PAM-tacplus[18024]: tac_login=''
3 กันยายน 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: เรียกว่า (pam_tacplus v1.3.8)
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: ผู้ใช้ [testuser] ได้รับ
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: tacacs_get_password: เรียกว่า
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: tacacs_get_password: รหัสผ่านที่ได้รับ
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: ได้รับรหัสผ่าน
3 กันยายน 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: tty [ssh] ได้รับ
3 กันยายน 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: rhost [1.2.3.5] ได้รับ
3 กันยายน 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: พยายาม srv 0
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: ใช้งาน srv 0
3 ก.ย. 13:52:29 น. ubuntuvm sshd[18024]: pam_sm_authenticate: ออกด้วยสถานะ pam: 0
3 กันยายน 13:52:29 ubuntuvm sshd[18024]: รหัสผ่านล้มเหลวสำหรับผู้ใช้ทดสอบจากพอร์ต 1.2.3.5 49413 ssh2
ในฐานะ TACACS+ Server ฉันใช้อันนี้: https://tacacsgui.com/