本文实现了一键安装,并开启telnet服务。
默认情况下,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/nullthen
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 附录
本文的编写,参考以下两个链接。如需更详细信息,建议查看以下两个文章
http://www.linuxdiyf.com/viewarticle.php?id=422702
https://yq.aliyun.com/articles/58310
telnet服务怎么开启,方法如下:1.在控制面板中点击程序选项。
2.点击启用或关闭Windows功能。
3.找到并勾选teInetclient选项。点击确定即可。
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。
它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令。
一.查看本机是否有安装telnet(centOS5默认有安装telnet)
# rpm -qa |grep telnet
如果显示结果为:
telnet-0.17-39.el5
telnet-server-0.17-39.el5
那恭喜你,机器上已经安装了telnet。如果没有安装,请看下一步。
特别说明:
telnet分为telnet-client (简称为telnet)和telnet-server。telnet-client系统(CentOs 5.5)一般默认已经安装。telnet-server需要单独安装。
二、安装telnet
第一种方法(在线安装):
可使用命令:
#yum install xinetd (注意在root下安装)
#yum install telnet -server(注意在root下安装)
第二种方法(光盘安装法):
cd /光盘/CentOS
rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
rpm -ivh telnet-server-0.17-39.el5.i386.rpm
特别说明:
1、telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。CentOS 5.5默认没有安装telnet和xinetd服务。
2、CentOS-5.5-i386-bin-DVD里面有xinetd和telnet-server和安装包!!不需要上网下载!!
三.配置telnet
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可!
方法二:使用chkconfig命令直接开启
#chkconfig telnet on
方法三:直接修改配置文件
vi /etc/xinetd.d/telnet
一般是这样子的:
# default: yes
# description: The telnet server servestelnet sessionsit uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait= no
user= root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
只需要将”disable= yes”改成” disable=no”
四、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然
也就可以被激活。
# servicexinetd restart
或者#/etc/rc.d/init.d/xinetd restart
五.iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令
当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重启防火墙
或者来点狠的!!关闭防火墙!
service iptables stop
六、可能的问题:
下面我们来看一下二种错误:
第一种:
[root@linuxchao ~]# telnet 192.168.1.87
Trying 192.168.1.87...
telnet: connect to address 192.168.1.87: Noroute to host
telnet: Unable to connect to remote host:No route to host
解决方法:这种问题防火墙没有允许telnet服务,连接被阻止,默认CentOS只允许SSH,所以进入其自定义选项,在telnet前打个勾!
第二种
[root@test xinetd.d]# telnet 172.25.1.3
Trying 172.25.1.3...
Connected to 172.25.1.3 (172.25.1.3).
Escape character is '^]'.
getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
Connection closed by foreign host.
这一个就是/etc/hosts文件配置问题
解决方法:我在里面加两个IP地址,内容如下:
[linux@localhost ~]$ more /etc/hosts
# Do not remove the following line, orvarious programs
# that require network functionality willfail.
127.0.0.1localhost.localdomainlocalhost
::1localhost6.localdomain6localhost6
192.168.1.88
192.168.1.86
说明:因为客户机的名字不好记就没写进去,内容格式应为127.0.0.1 pcname
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)