解决Ubuntu中telnet 127.0.0.1时Unable to connect to remote host: Connection refused的问题

问题定位

执行命令
$ telnet 127.0.0.1
报错

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

错误原因

能够执行telnet命令并不代表系统中安装了telnet服务。
由于是远程连接本地,所以本地需要有telnet服务才能进行连接。
输入命令
$ netstat -tnl
查看端口状态

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN

可以看到没有进程在监听本地的23端口,说明本地的telnet服务没有启动。

解决方法

1、安装xinetd和telnetd

$ sudo apt-get install xinetd telnetd

2、创建文件/etc/inetd.conf

$ sudo vi /etc/inetd.conf
并加入以下一行

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
3、修改文件/etc/xinetd.conf

$ sudo vi /etc/xinetd.conf
并修改为以下内容

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
4、创建文件/etc/xinetd.d/telnet

$ sudo vi /etc/xinetd.d/telnet
并输入以下内容

# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{    
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
5、重启系统,查看端口状态

$ netstat -tnl
可以看到正在监听23端口

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN
6、最后测试远程登录本地

$ telnet 127.0.0.1

你可能感兴趣的:(解决Ubuntu中telnet 127.0.0.1时Unable to connect to remote host: Connection refused的问题)