原文:解决telnet无法连接 Connection refused
telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
一、检测telnet-server的rpm包是否安装
OS:RedHat9
[root@locahost ~]#rpm -qa telnet-server
//出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的,为了方便测试,也确认一下//
[root@locahost ~]#rpm -qa telnet
telnet-0.17-25
如果没有安装,请安装telnet-server
第3张盘上有telnet-server-0.17-25.i386.rpm,进入Server目录下执行
[root@locahost ~]#rpm -ivh telnet-server.i386.rpm
二、重新启动xinetd守护进程
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd
[root@locahost ~]#service xinetd restart
三、测试一下
我们先来查看TCP的23端口是否开启正常
[root@locahost ~]#netstat -tnl |grep 23
tcp 0 0 0.0.0.0:23 0.0.0.0: LISTEN
如果上面的一行存在就说明服务已经运行了
这时我们可以本机通过进一步确认一下
[root@locahost ~]# telnet localhost 23
Trying telnet 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1)..
Escape character is ‘^]’.
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login:
如果netstat命令没有返回内容,我们就只好继续进行更深入的配置了。
四、排除可能出现的问题
修改telnet服务配置文件
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
将disable=yes行前加#注释掉,或者把yes改为no,之后重新启动xinetd扩展守护进程
[root@localhost ~]# service xinetd restart
停止 xinetd: [确定]
启动 xinetd: [确定]
注意关闭系统防火墙对23端口的限制。
[root@localhost ~]# system-config-securitylevel
在这里我们可以开启或关闭防火墙,也可以配置防火墙
或者:
[root@locahost ~]# setup
Connection refused
有可能服务没开,有可能防火墙禁了端口。