原文地址:https://blog.csdn.net/zhujiangm/article/details/4540778linux
服務器:CentOS-5.1(192.168.1.87)
客戶機:FC6(192.168.1.86) Windows XP(192.168.1.88)centos
雖然telnet的明文傳輸有很大的安全隱患,並且如今基本上也被SSH來取代了,可是爲了學習仍是有必要了解一下,好了,進入正題
實驗名:telnet服務器配置
1、安裝telnet軟件包(一般要兩個)。
一、 telnet-client (或 telnet),這個軟件包提供的是 telnet 客戶端程序;
二、是 telnet-server 軟件包,這個纔是真正的 Telnet server 軟件包!
安裝以前先檢測是否這些軟件包已安裝,方法以下:
[root@linuxchao root]#rpm –qa |grep telnet
telnet-server-0.17-38.e15
若是沒有檢測到軟件包,須要進行安裝,CentOS服務器模式默認已安裝了telnet軟件包,可是服務器須要telnet-server軟件包才行(安裝
包在光盤內 也可在在網絡上下載安裝)
個人是硬盤安裝的CentOS系統,因此會掛載硬盤分區以後再掛載鏡像,光盤安裝方法類似!
[root@linuxchao root]mount /dev/hda6 /mnt/da #da是我在/mnt下創建的目錄,hda6分區爲centos鏡像所在
[root@linuxchao root]mount -t iso9660 -o loop /mnt/da/CentOS-5.1-i386-bin-DVD.iso /mnt/iso #iso目錄也是我建的
[root@linuxchao root]cd /mnt/iso/CentOS #這個目錄是rpm包所在的目錄
[root@linuxchao root]rpm -ivh telnet-server-0.17-38.e15.rpm
上面就安裝好telnet服務器軟件包了,如今來查看一下。
[root@linuxchao root]#rpm –qa |grep telnet
telnet-0.17-38.e15
telnet-server-0.17-38.e15
2、啓動telnet服務
一、開啓服務
方法一:使用ntsysv,在出現的窗口之中,將 telnet 勾選起來,而後按下 OK 便可 !
方法二:編輯 /etc/xinetd.d/telnet
[root@linuxchao root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改這裏,將 yes 改爲 no 便可!服務預設是關閉的
方法三:使用chkconfig命令直接開啓
[root@linuxchao root]chkconfig telnet on
二、激活服務
telnet 是掛在 xinetd 底下的,因此天然只要從新激活 xinetd 就可以將 xinetd 裏頭的設定從新讀進來,因此剛剛設定的 telnet 天然
也就能夠被激活。
[root@linuxchao root]# service xinetd restart
或者[root@linuxchao root]# /etc/rc.d/init.d/xinetd restart #這個是比較正規的方法
3、測試服務
[root@linuxchao root]#telnet localhost
若是配置正確,系統提示輸入遠程機器的用戶名和密碼
Login:
Password:
注:默認只容許普通用戶,所以可先創建一個普通用戶來作測試,不過也能夠經過下面的方法來解決root訪問的問題
Telnet root用戶的登入
root 不能直接以 telnet 鏈接上主機。 telnet 不是很安全,默認的狀況之下就是沒法容許 root 以 telnet 登入 Linux 主機的 。若要容許root用戶登入,可用下列方法安全
[root@linuxchao root]# vi /etc/pam.d/remote
#auth required pam_securetty.so #將這一行加上註釋!
或
# mv /etc/securetty /etc/securetty.bak
這樣一來, root 將能夠直接進入 Linux 主機。不過,建議不要這樣作。還能夠在普通用戶進入後,切換到root用戶,擁有root的權限!
4、客戶端訪問實驗
基礎因爲LINUX爲了提升TELNET的安全性和防止未受權的用戶利用TELNET的BUG
下面咱們來看一下二種錯誤:
第一種:
[root@linuxchao ~]# telnet 192.168.1.87
Trying 192.168.1.87...
telnet: connect to address 192.168.1.87: No route to host
telnet: Unable to connect to remote host: No route to host
解決方法:這種問題防火牆沒有容許telnet服務,鏈接被阻止,默認CentOS只容許SSH,因此進入其自定義選項,在telnet前打個勾!
第二種
[root@test xinetd.d]# telnet 172.25.1.3
Trying 172.25.1.3...
Connected to 172.25.1.3 (172.25.1.3).
Escape character is '^]'.
getnameinf localhost: Success
Temporary failure in name resolution: Illegal seek
Connection closed by foreign host.
這一個就是/etc/hosts文件配置問題
解決方法:我在裏面加兩個IP地址,內容以下:
[linuxchao@localhost ~]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1localhost.localdomainlocalhost
::1localhost6.localdomain6localhost6
192.168.1.88
192.168.1.86
說明:由於客戶機的名字很差記就沒寫進去,內容格式應爲 127.0.0.1 pcname
總結:在使用telnet時要記得1.打開防火牆對telnet的限制2./etc/hosts對客戶機的限制3.注意/etc/hosts.allow與/etc/hosts.deny兩個文件
裏的內容,都有可能會限制訪問,這裏只是局域網測試就不說多了。
5、Telnet服務限制
若是本來的默認值你並不滿意,那麼你能夠修改爲比較安全一點的機制。假設你這個 Linux 是一部主機,並且他有兩塊網絡接口,分別是
對外的 192.168.0.1 與對內的212.45.16.5 這兩個,若是你想要讓對內的接口限制較鬆,而對外的限制較嚴格,你能夠這樣的來設定:
#vi /etc/xinetd.d/telnet
# 先針對對內的較爲鬆散的限制來設定:
service telnet
{ disable = no <==預設就是激活 telnet 服務
bind = 212.45.16.5 <==只容許經由這個適配卡的封包進來
only_from = 212.45.16.0/24 <==只容許 210.45.160.0/24 這個網段的主機聯機進來使用 telnet 的服務
.....
}
# 再針對外部的聯機來進行限制
service telnet
{
disable = no<==預設就是激活 telnet 服務
bind = 192.168.0.1<==只容許經由這個適配卡的封包進來
only_from = 192.168.0.0/16<==只容許 192.168.0.0 ~ 192.168.255.255 這個網段聯機進來使用 telnet 的服務
only_from = .edu.cn<==重複設定,只有教育網才能聯機!
no_access = 192.168.25.{10,26}<==不準這些 PC 登入
access_times = 1:00-9:00 20:00-23:59 <==天天只有這兩個時段開放服務
......
}服務器