今天想從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安全。^_^