今天想从windows机器telnet到虚拟机的时候,遇到了各种小问题,这里记录下。
Window8.1开启telnet
cmd中输入telnet命令,提示找不到。原来windows不知道从哪个版本开始把这个服务给关了。开启方式:程序和功能
->打开或关闭Windows功能
,如下图:
确定,然后重新打开cmd,即可使用telnet。
安装telnet
接下来,连接失败:
C:\Users\lfqy>telnet 192.168.20.128
正在连接192.168.20.128...无法打开到主机的连接。 在端口 23: 连接失败
查了下Centos上原来没有telnet服务器:
$ rpm -qa | grep telnet
[lfqy@localhost ~]$
然后,在centos上安装telnet的时候,发现yum失败,报错如下:
$ sudo yum install telnet-server
[sudo] password for lfqy:
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
$
解决方法:编辑/etc/yum.repos.d/epel.repo
文件,将其中的baseurl行开头的注释符号去掉,然后,将mirrorlist行注释掉。重新运行安装即可成功。
开启telnet
找到/etc/xinetd.d/telnet
文件,将其中的disable=yes改成no,改成如下的状态:
sudo vim /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it 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 = no
}
然后,重新启动xinetd服务:
$ sudo service xinetd restart
[sudo] password for lfqy:
Stopping xinetd: [FAILED]
Starting xinetd: [ OK ]
如下的方式也是同样的效果:
$ sudo /etc/rc.d/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
或者是:
$ sudo chkconfig telnet on
$
然而,到这里仍然telnet失败:
C:\Users\lfqy>telnet 192.168.20.128
正在连接192.168.20.128...无法打开到主机的连接。 在端口 23: 连接失败
修改防火墙规则
查了下原因,发现该版本的centos(版本信息如下)中,防火墙默认禁用了telnet。
CentOS
Release 6.4 (Final)
Kernel Linux 2.6.32-358.el6.x86_64
GNOME 2.28.2
采用图形界面:System
->Administration
->Firewall
,输入密码之后,看到:
可以看出,在Trusted Services
中,只开启了ssh,根本找不到telnet。这时,点击Trusted Services
下的Other Ports
,然后点击Add,找到23号端口对应的udp和tcp telnet分别添加即可。如下图:
最后,点击Apply
,即可从Windows成功telnet。当然,这东西并没有什么卵用,还是ssh安全。_