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