使用 TACACS+ (Cisco ACS) 验证 Linux sshd

Thi*_*his 8 linux cisco ssh authentication tacacs+

我们的网络工程团队使用多台 linux 服务器进行syslog 收集、配置备份、tftp 等...

我们想在Cisco ACS 机器上使用 TACACS+作为我们的中央身份验证服务器,我们可以在这些 linux 服务器上更改密码和用户活动帐户。我们还需要回退到静态密码,以防 tacacs+ 服务关闭。

我们如何sshd在 CentOS 上针对我们的Cisco ACS tacacs+ 服务器进行身份验证?


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

Thi*_*his 11

假设

  • 我们pam_tacplus.sopam_tacplus 库v1.3.7编译
  • Cisco ACS 服务器是 192.0.2.27,秘密 tacacs+ 密钥是 d0nttr3@d0nm3

安装说明

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

    auth include tacacs

  8. 以 root 身份创建一个名为 的新文件/etc/pam.d/tacacs

    #%PAM-1.0
    验证足够/usr/local/lib/security/pam_tacplus.so debug server=192.0.2.27 secret=d0nttr3@d0nm3
    账号足够 /usr/local/lib/security/pam_tacplus.so debug server=192.0.2.27 secret=d0nttr3@d0nm3 service=shell protocol=ssh
    会话足够 /usr/local/lib/security/pam_tacplus.so debug server=192.0.2.27 secret=d0nttr3@d0nm3 service=shell protocol=ssh

每服务器/每用户指令

作为每台服务器上的 root,为所有需要的用户创建一个与 tacacs+ 用户名匹配的本地 linux 用户帐户。用户可以选择使用passwd将他们的本地密码设置为他们喜欢的任何东西作为最后的手段;但是,如果他们设置了本地密码,tacacs+即使服务可用,他们也可以随时在本地登录。

pam_tacplus 服务信息

pam_tacplus.so模块如何工作的详细信息在此pam-list存档电子邮件中