在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。