1 概述
通过telnet方式连接到其他机器,进行远程操作
本文实现了一键安装,并开启telnet服务。
2 启用服务
默认情况下,telnet连接不能用root账号登陆,需要用普通用户的账号连接
2.1 安装服务包
安装xinted,telnet,telnet-server三个包
2.2 开启xinetd
Cent OS 6
service xinetd restart
CentOS7
systemctl restart xinetd
2.3 开启telnet
如果以上的telnet已经安装,但是还是如果出现如下报错
[root@localhost ~]#telnet 172.18.50.62
Trying 172.18.50.62...
telnet: connect to address 172.18.50.62: Connection refused
应该是服务没有启用
主要是要查看23端口是否有被打开
可以用 netstat -ntulp | grep 23查看
解决办法
CentOS6
chkconfig --list 查看telnet是否是on状态,如果状态为off,
用命令 chkconfig telnet on设置开机启动。centOS6不需要重启telnet服务,只需要确保这个状态是开启的就可以,因为该进程是有xinet监听,如果telnet已经是on状态,可以尝试重启xinet服务
CentOS7
查看telnet-server 是否已经启动
systemctl status telnet.socket
如果显示inactive则表示没有打开请执行
systemctl enable telnet.socket 加入开机启动
启动telnet 服务 systemctl start telnet.socket 注意7这边是telnet.socket,和6不一样
如果打了以下的命令,就会出现模块不存在的报错,因为命令打错了,telnet少了socket这个后缀
[root@localhost ~]#systemctl start telnet
Failed to start telnet.service: Unit not found.
3 一键安装脚本如下
将yum源配置好,且可用的前提下,可以直接运行以下脚本,实现一键安装和启用服务的功能
rpm -q xinetd &>/dev/null || yum -y install xinetd &>/dev/null
rpm -q telnet &>/dev/null || yum -y install telnet &>/dev/null
rpm -q telnet-server &>/dev/null || yum -y install telnet-server &>/dev/null
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
os_version=`cat /etc/system-release | grep -o " [0-9]"| cut -d " " -f2`
grep_port (){
read -p "please input which port you want check: " port
if netstat -nutlp | grep ":$port " &>/dev/null;then
echo "Telnet service is open now,the host can be telnet now"
else
echo "Telnet port $port is not open,please check"
fi
};
case $os_version in
6)
chkconfig xinetd on;
chkconfig telnet on;
service xinetd restart;
grep_port
;;
7)
systemctl enable telnet.socket;
systemctl start telnet.socket;
systemctl enable xinetd;
systemctl restart xinetd;
grep_port
;;
*)
echo "Please check your system version,it not 6 or 7"
exit
;;
esac
4 附录
本文的编写,参考以下两个链接。如需更详细信息,建议查看以下两个文章