在Linux中,telnetd默認情況下不提供身份驗證
首先,確保你的系統已經安裝了telnetd。如果沒有,請使用以下命令安裝:
對于基于Debian的系統(如Ubuntu):
sudo apt-get install telnetd
對于基于RPM的系統(如CentOS、Fedora):
sudo yum install telnetd
創建一個身份驗證腳本。在/etc/telnetd/
目錄下創建一個名為auth.sh
的文件,并添加以下內容:
#!/bin/sh
USER=`echo $PAM_USER`
PASS=`echo $PAM_PASSWORD`
if [ "$USER" = "username" ] && [ "$PASS" = "password" ]; then
echo "Authenticated."
exit 0
else
echo "Authentication failed."
exit 1
fi
請將username
和password
替換為實際的用戶名和密碼。確保腳本具有可執行權限:
sudo chmod +x /etc/telnetd/auth.sh
配置telnetd以使用身份驗證腳本。編輯/etc/telnetd.conf
文件,添加以下內容:
pam_service_name telnet
auth required pam_exec.so quiet /etc/telnetd/auth.sh
這將告訴telnetd使用auth.sh
腳本進行身份驗證。
重啟telnetd服務以應用更改:
對于基于Debian的系統:
sudo systemctl restart telnetd
對于基于RPM的系統:
sudo systemctl restart telnetd.service
現在,telnetd將要求用戶提供用戶名和密碼。只有提供正確憑據的用戶才能連接到telnet服務。請注意,telnet本身不安全,因此建議使用更安全的替代方案,如SSH。