使用TACACS +validationLinux sshd(Cisco ACS)

我们的networking工程团队使用多个Linux服务器进行系统日志收集 ,configuration备份,tftp等。

我们希望在Cisco ACS机器上使用TACACS +作为我们的中央authentication服务器,我们可以在这些linux服务器上更改密码并考虑用户活动。 如果tacacs +服务closures,我们还需要回到静态密码。

我们如何在CentOS上使用sshd来validation我们的思科ACS tacacs +服务器?


注:我正在回答我自己的问题

假设

  • 我们正在编译pam_tacplus库的 v1.3.7中的pam_tacplus.so
  • Cisco ACS服务器是192.0.2.27,密钥tacacs +密钥是d0nttr3@d0nm3

安装说明

  1. 将Linux服务器的主机名/ IP地址添加到Cisco ACS并重新启动Cisco ACS服务
  2. 从SourceForge下载tacacs + PAM模块 。
  3. 为您的Linux发行版安装pam开发包。 RHEL / CentOS把它称为pam-devel ; Debian / Ubuntu将其称为libpam-devlibpam0g-dev的虚拟软件包名称)。
  4. 将tacacs + pam模块tar xvfz pam_tacplus-1.3.7.tar.gz到一个临时工作目录( tar xvfz pam_tacplus-1.3.7.tar.gz
  5. cd进入由tar创build的新文件夹。
  6. 以root ./configure; make; make install./configure; make; make install ./configure; make; make install
  7. 以root身份编辑/etc/pam.d/sshd ,并将此行添加为文件中的第一个条目:

    auth include tacacs

  8. 以root用户/etc/pam.d/tacacs创build一个名为/etc/pam.d/tacacs的新文件:

     #%PAM-1.0
     auth足够/usr/local/lib/security/pam_tacplus.sodebugging服务器= 192.0.2.27秘密= d0nttr3 @ d0nm3
    足够的帐户/usr/local/lib/security/pam_tacplus.sodebugging服务器= 192.0.2.27秘密= d0nttr3 @ d0nm3服务=壳协议= ssh
     session full /usr/local/lib/security/pam_tacplus.so debug server = 192.0.2.27 secret = d0nttr3 @ d0nm3 service = shell protocol = ssh

每服务器/每用户指令

以每个服务器上的root用户身份创build一个与所有必需用户的tacacs +用户名相匹配的本地linux用户帐户。 用户可以select使用passwd将他们的本地密码设置为他们喜欢的任何最后的手段; 但是,如果他们设置了本地密码,即使服务可用,他们也可以随时在本地login,而无需使用tacacs+

pam_tacplus服务信息

pam_tacplus.so模块工作的细节在这个pam-list存档的电子邮件中