虽然说telnet是明文传输不太安全,但总有点必要抽时间学一学。据我非深入的理解,现在大部分情况是用SSH方式(不太懂)。

我实验的环境是在windows xp(host) + CentOS 6.2  Linux (guest)下进行。其实可以举一反三,这种情况下出现的错误可以类推至远程连接到路由器、交换机和服务器等。 

小知识点:xp中查看ip地址等信息是用ipconfig命令,而Linux下是ifconfig。

XP:ipaddr:192.168.1.3

CentOS:ipaddr:192.168.1.4

默认状态下直接在xp中telnet linux会发生“正在连接到192.168.1.3...不能打开到主机的连接, 在端口 23: 连接失败”的错误。

于是google,百度后得到的大部分答案是:

1:“管理工具”-> “服务”->开启Telnet服务(或者cmd->net start telnet开启telnet服务)

2:“控制面板”->“windows防火墙”->“例外”->“添加端口”->加上telnet tcp 23和telnet udp 23

然而这样一番操作过后,事实却是,一点作用也没起到,还是报错,不能打开主机的连接。

其实,在这个问题上,上面的两个操作是完全没必要的,问题是出在我们想要远程连接的Linux端。

我们现如今是想把Linux端当成服务器端,而XP只是客户端,所以完全没必要配置XP的telnet服务使其开启,防火墙也不需要打开。

不过,如果你想让他机把你的XP当成服务器端远程访问的话这样做是必要的。好,现在就针对性地去解决问题。

Linux下有两个telnet功能包,telnet-client作为客户端,telnet-server作为服务端。

在终端下输入telnet localhost而系统提示“command not found”,我以为是没有安装telnet-client的缘固,于是

用我娴熟地敲击技术键上yum install telnet-client,结果提示“No package telnet-client available”。哎,过于自信了呀。

目前不需要关心这个问题。

在Linux下打开终端,进入超级管理员模式,

1:检测是否安装了telnet-server功能包,rpm -qa|grep telnet,如果安装了就会有个版本号输出。那么直接跳至步骤3,否则转向步骤2

2:安装telnet-server包,yum install telnet-server

3:开启服务,vi /etc/xinetd.d/telnet,找到disable = yes这行,将yes改成no,ESC,wq保存。也可以用chkconfig telnet on直接开启

4:激活服务,telnet是挂在xinetd底下的,所以要重新激活xinetd,用命令service xinetd restart

5:OK,回到XP再远程连接吧。


最后为安全起见,在实验做完后记得把Linux的telnet服务关闭掉.