Linux – Telnet

不建議使用 Telnet 當遠端管理,現在多採用較安全的 SSH 進行遠端登入.

所需套件 telnet (Client) , telnet-server (Server)

[root@localhost ~]# yum install telnet telnet-server

Telnet 設定檔

  • RHEL (RedHat) 6 之前的版本
    一般 Telnet 預設為不開啟 (Red Hat),所以我們要修改設定檔 /etc/xinetd.d/telnet
    方法一:

    [root@localhost ~]# chkconfig telnet on
    

    方法二:
    disable 將預設的"yes",改為"no".

    [root@localhost ~]# vi /etc/xinetd.d/telnet
    service telnet
    {
            flags               = REUSE
            socket_type         = stream
            wait                = no
            user                = root
            server              = /use/sbin/in.telnetd
            log_on_failure      += USERID
            disable             = no     <========將預設的"yes",改為"no",則會啟用此服務  
    }
    

    存檔後,執行 #/etc/init.d/xinetd reload 或是 #service xinetd reload 指令重新載入設定檔.執行以上的指令請指定路徑,如本身已在 /etc/init.d 目錄下,請執行 ./xinetd reload.

    [root@localhost ~]# service xinetd reload
    

    檢查 telnet 服務

    [root@localhost ~]# chkconfig --list | grep -i telnet
     telnet: on
    

    因為 telnet 是由 xinetd 來啟動服務,所以 telnet 的服務會掛在 xinetd based services: 之下,telnet: on 可以確定服務已經啟動.

  • RHEL (RedHat) 7版本
    RHEL 7 採用 systemd 之後,服務管理採用 systemctl .

    [root@localhost ~]# systemctl enable telnet.socket
    [root@localhost ~]# systemctl start telnet.socket
    [root@localhost ~]# systemctl status telnet.socket
    ● telnet.socket - Telnet Server Activation Socket
       Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
       Active: active (listening) since 四 2018-07-05 21:34:18 EDT; 8min ago
         Docs: man:telnetd(8)
       Listen: [::]:23 (Stream)
     Accepted: 0; Connected: 0
    
     7月 05 21:34:18 localhost.localdomain systemd[1]: Listening on Telnet Serve...
     7月 05 21:34:18 localhost.localdomain systemd[1]: Starting Telnet Server Ac...
    Hint: Some lines were ellipsized, use -l to show in full.
    

telnet 使用 TCP / Port 23 .

[root@localhost ~]# netstat -tnlp | grep -i 23
tcp6       0      0 :::23                   :::*                    LISTEN      1/systemd  

允許 root 登入

Telnet 不允許以 root 身分登入,請用一般身份登入,再執行 sudo su – ,轉換成 root 身份.

[root@localhost ~]# telnet 192.168.95.129
Trying 192.168.95.129...
Connected to 192.168.95.129.
Escape character is '^]'.

Kernel 3.10.0-862.3.2.el7.x86_64 on an x86_64
localhost login: ben
Password: 
Last login: Thu Jul  5 22:46:46 on pts/0
[ben@localhost ~]$ sudo su -
[sudo] password for ben: 
Last login: Thu Jul  5 22:44:49 EDT 2018 on pts/0

#sudo 時如遇到 is not in the sudoers file. 請參考 http://benjr.tw/38515

要讓 telnet 可以讓 root 可以,有下面幾種方式,可以針對 /etc/seuretty 檔案來修改登入權限,這一部分與 PAM 有關,請參考 http://benjr.tw/291

  1. 將 /etc/seuretty 改成其他名稱,就可以使用 root 身份登入(不建議).
    [root@localhost ~]# mv /etc/securetty /etc/securetty.bak
    
  2. 新增 /etc/seuretty 內容,pts/0~9 可以讓 10 個 root 的使用者透過 telnet 登入.
    [root@localhost ~]# vi /etc/securetty 
    pts/0
    pts/1
    pts/2
    pts/3
    pts/4
    pts/5
    pts/6
    pts/7
    pts/8
    pts/9
    

One thought on “Linux – Telnet

  1. 通告: Xinted | Benjr.tw

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料