Linux
使用 TACACS+ (Cisco ACS) 驗證 Linux sshd
我們的網路工程團隊使用多台 linux 伺服器進行syslog 收集、配置備份、tftp 等…
我們希望在Cisco ACS 機器上使用 TACACS+作為我們的中央身份驗證伺服器,我們可以在其中更改密碼並為這些 linux 伺服器上的使用者活動帳戶。我們還需要回退到靜態密碼,以防 tacacs+ 服務中斷。
我們如何
sshd
在 CentOS 上對我們的Cisco ACS tacacs+ 伺服器進行身份驗證?注意:我正在回答我自己的問題
假設
- 我們正在
pam_tacplus.so
從pam_tacplus 庫的 v1.3.7 編譯- Cisco ACS 伺服器是 192.0.2.27,秘密 tacacs+ 密鑰是
d0nttr3@d0nm3
安裝說明
- 將linux伺服器的主機名/ip地址添加到Cisco ACS並重啟Cisco ACS服務
- 從 SourceForge下載tacacs+ PAM 模組。
- 為您的 linux 發行版安裝
pam
開發包。RHEL/CentOS 呼叫它pam-devel
;Debian / Ubuntu 稱之為libpam-dev
(虛擬包名libpam0g-dev
)。- 將 tacacs+
pam
模組解壓到臨時工作目錄 (tar xvfz pam_tacplus-1.3.7.tar.gz
)cd
進入由tar
.- 作為根:
./configure; make; make install
- 以root 身份編輯
/etc/pam.d/sshd
,並將此行添加為文件中的第一個條目:
auth include tacacs
8. 以 root 身份創建一個名為的新文件/etc/pam.d/tacacs
:#%PAM-1.0 授權足夠 /usr/local/lib/security/pam_tacplus.so 調試伺服器=192.0.2.27 秘密=d0nttr3@d0nm3 帳戶足夠 /usr/local/lib/security/pam_tacplus.so 調試伺服器=192.0.2.27 秘密=d0nttr3@d0nm3 服務=shell 協議=ssh 會話足夠 /usr/local/lib/security/pam_tacplus.so 調試伺服器=192.0.2.27 秘密=d0nttr3@d0nm3 服務=shell 協議=ssh
每伺服器/每使用者說明
作為每台伺服器上的 root 使用者,為所有需要的使用者創建一個與 tacacs+ 使用者名匹配的本地 linux 使用者帳戶。使用者可以選擇
passwd
將其本地密碼設置為他們喜歡的任何最後手段;tacacs+
但是,如果他們設置了本地密碼,即使服務可用,他們也可以隨時在本地登錄。pam_tacplus 服務資訊
該
pam_tacplus.so
模組如何工作的詳細資訊在此pam-list
存檔電子郵件中