telnet命令使用示例


small_linux

導讀 telnet命令通常用來遠程登錄。telnet程序是基於TELNET協議的遠程登錄客戶端程序。Telnet協議是TCP/IP協議族中的一員,是Internet遠程登錄服務的標准協議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的能力。
語法
telnet [-8acdEfFKLrx][-b<主機別名>][-e<脫離字符>][-k<域名>][-l<用戶名稱>][-n<記錄文件>][-S<服務類型>][-X<認證形態>][主機名稱或IP地址<通信端口>]
參數
-8 允許使用8位字符資料,包括輸入與輸出
-a 嘗試自動登入遠端系統
-b<主機別名> 使用別名指定遠端主機名稱
-c 不讀取用戶專屬目錄里的.telnetrc文件
-d 啟動排錯模式
-e<脫離字符> 設置脫離字符
-E 濾除脫離字符
-F 使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機
-f 此參數的效果和”-F”參數相同
-k<域名> 使用Kerberos認證時,加上此參數讓遠端主機采用指定的領域名,而非該主機的域名
-K 不自動登入遠端主機
-l<用戶名稱> 指定要登入遠端主機的用戶名稱
-L 允許輸出8位字符資料
-n<記錄文件> 指定文件記錄相關信息
-r 使用類似rlogin指令的用戶界面
-S<服務類型> 設置telnet連線所需IP TOS信息
-x 假設主機有支持數據加密的功能,就使用它
-X<認證形態> 關閉指定的認證形態
使用示例

示例1:遠程服務器無法訪問

[root@linuxprobe ~]# telnet 192.168.120.209
Trying 192.168.120.209...
telnet: connect to address 192.168.120.209: No route to host
telnet: Unable to connect to remote host: No route to host

處理這種情況方法:

(1)確認IP地址是否正確

(2)確認IP地址對應的裝機是否已經開機

(3)如果主機已經啟動,確認路由設置是否設置正確(使用route命令查看)

(4)如果主機已經啟動,確認主機上是否開啟了telnet服務(使用netstat命令查看,TCP的23端口是否有LISTEN狀態行)

(5)如果主機已經啟動telnet服務,確認防火牆是否開放了23端口的訪問(使用iptables-save查看)

示例2:域名無法解析

[root@linuxprobe ~]# telnet www.baidu.com
www.baidu.com/telnet: Temporary failure in name resolution

處理這種情況方法:

(1)確認域名是否正確

(2)確認本機的域名解析有關的設置是否正確(/etc/resolv.conf中nameserver的配置是否正確,如果沒有,可以使用nameserver 8.8.8.8)

(3)確認防火牆是否放開了UDP53端口的訪問(DNS使用UDP協議,端口53,使用iptables-save查看)

示例3:拒絕訪問

[root@linuxprobe ~]# telnet 192.168.120.206 
Trying 192.168.120.206...
telnet: connect to address 192.168.120.206: Connection refused
telnet: Unable to connect to remote host: Connection refused

處理這種情況方法:

(1)確認IP地址或者主機名是否正確

(2)確認端口是否正確,是否默認23端口 若要檢查192.168.120.206的某端口是否能否能訪問,如443端口,可使用如下命令

[root@linuxprobe ~]# telnet 192.168.120.206 443
Trying 192.168.120.206...
telnet: connect to address 192.168.120.206: Connection refused

說明:這表示192.168.120.206的443端口不能訪問

示例4:telnet root用戶的登入

[root@linuxprobe ~]# telnet 192.168.120.204
Trying 192.168.120.204...
Connected to 192.168.120.204 (192.168.120.204).
Escape character is '^]'.

    localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1)

login: root
Password: 
Login incorrect

說明:一般情況下不允許root從遠程登錄,可以先用普通賬號登錄,然后再su -切到root用戶。若要允許root用戶登入,可用下列方法:

[root@linuxprobe ~]# vi /etc/pam.d/login
#auth required pam_securetty.so #將這一行加上注釋!
或
[root@linuxprobe ~]# mv /etc/securetty /etc/securetty.bak 

示例5:啟用telnet服務

[root@linuxprobe ~]# cd /etc/xinetd.d/
[root@linuxprobe xinetd.d]# ll
總計 124
-rw-r--r-- 1 root root 1157 2011-05-31 chargen-dgram
-rw-r--r-- 1 root root 1159 2011-05-31 chargen-stream
-rw-r--r-- 1 root root  523 2009-09-04 cvs
-rw-r--r-- 1 root root 1157 2011-05-31 daytime-dgram
-rw-r--r-- 1 root root 1159 2011-05-31 daytime-stream
-rw-r--r-- 1 root root 1157 2011-05-31 discard-dgram
-rw-r--r-- 1 root root 1159 2011-05-31 discard-stream
-rw-r--r-- 1 root root 1148 2011-05-31 echo-dgram
-rw-r--r-- 1 root root 1150 2011-05-31 echo-stream
-rw-r--r-- 1 root root  323 2004-09-09 eklogin
-rw-r--r-- 1 root root  347 2005-09-06 ekrb5-telnet
-rw-r--r-- 1 root root  326 2004-09-09 gssftp
-rw-r--r-- 1 root root  310 2004-09-09 klogin
-rw-r--r-- 1 root root  323 2004-09-09 krb5-telnet
-rw-r--r-- 1 root root  308 2004-09-09 kshell
-rw-r--r-- 1 root root  317 2004-09-09 rsync
-rw-r--r-- 1 root root 1212 2011-05-31 tcpmux-server
-rw-r--r-- 1 root root 1149 2011-05-31 time-dgram
-rw-r--r-- 1 root root 1150 2011-05-31 time-stream
[root@linuxprobe xinetd.d]# cat krb5-telnet 
# default: off
# description: The kerberized telnet server accepts normal telnet sessions, \
#              but can also use Kerberos 5 authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream        
        wait            = no
        user            = root
        server          = /usr/kerberos/sbin/telnetd
        log_on_failure  += USERID
        disable         = yes
}

配置參數通常如下:

service telnet {

disable = no #啟用

flags = REUSE #socket可重用

socket_type = stream #連接方式為

TCP wait = no #為每個請求啟動一個進程

user = root #啟動服務的用戶為root

server = /usr/sbin/in.telnetd #要激活的進程

log_on_failure += USERID #登錄失敗時記錄登錄用戶名

}

如果要配置允許登錄的客戶端列表,加入 only_from = 192.168.0.2 #只允許192.168.0.2登錄

如果要配置禁止登錄的客戶端列表,加入 no_access = 192.168.0.{2,3,4} #禁止192.168.0.2、192.168.0.3、192.168.0.4登錄

如果要設置開放時段,加入 access_times = 9:00-12:00 13:00-17:00 # 每天只有這兩個時段開放服務(我們的上班時間:P)

如果你有兩個IP地址,一個是私網的IP地址如192.168.0.2,一個是公網的IP地址如218.75.74.83,如果你希望用戶只能從私網來登錄telnet服務,那么加入 bind = 192.168.0.2

各配置項具體的含義和語法可參考xined配置文件屬性說明(man xinetd.conf)

配置端口,修改services文件:

# vi /etc/services

找到以下兩句

telnet 23/tcp telnet 23/udp

如果前面有#字符,就去掉它。telnet的默認端口是23,這個端口也是黑客端口掃描的主要對象,因此最好將這個端口修改掉,修改的方法很簡單,就是將 23這個數字修改掉,改成大一點的數字,比如61123。注意,1024以下的端口號是internet保留的端口號,因此最好不要用,還應該注意不要與 其它服務的端口沖突。

啟動服務:service xinetd restart

免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:https://www.linuxprobe.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM