一、telnet協議簡介
telnet協議是一種在Internet上遠程登錄主機的標準協議和應用程序。它利用Telnet協議連接遠程主機並模擬字符終端操作,可以實現操作遠程計算機的目的。Telnet協議常用於Linux/Unix系統的遠程登錄,在Windows系統下也有相應的Telnet客戶端。
為了保證數據傳輸的安全性,Telnet協議在Internet上已經逐漸被SSH協議所取代,因為SSH協議提供了更高的安全性,但在內網環境中,Telnet在某些場景下仍然是必需的。
二、telnet服務端搭建
在Linux/Unix系統中,telnet服務端可以通過telnetd服務實現。在安裝Linux/Unix系統時,一般都會默認安裝telnetd服務。
如果未安裝該服務,可以通過以下命令安裝:
sudo apt-get install telnetd
安裝完成後,需要啟動telnetd服務,並將其設置成開機自啟動。具體步驟如下:
sudo systemctl start telnetd.service sudo systemctl enable telnetd.service
啟動服務之後,telnet服務端的默認端口號為23。如果想修改端口號,可以通過以下命令修改:
sudo vi /etc/services
在文件中修改telnet的端口號,如下所示:
telnet 9999/tcp
修改之後記得重啟服務:
sudo systemctl restart telnetd.service
三、telnet服務端配置
telnet服務端的配置主要包括安全配置和權限配置。
1、安全配置
為了保證數據傳輸的安全性,可以對telnet服務端進行安全配置。常用的安全配置方式有兩種:限制ip訪問和使用加密協議。
限制ip訪問可以通過修改配置文件/etc/hosts.allow和/etc/hosts.deny實現。例如,只允許192.168.1.0/24網段的IP地址訪問,可以在/etc/hosts.allow文件中添加以下內容:
telnet: 192.168.1.
使用加密協議可以通過修改配置文件/etc/xinetd.d/telnet實現。具體操作可以參考下面的代碼示例。
2、權限配置
telnet服務端的權限配置可以通過修改/etc/telnetd.conf文件實現。可以設置允許或禁止登錄的用戶、限制並發連接數以及設置超時等。例如,可以設置只允許指定用戶登錄telnet服務端,具體操作可以參考下面的代碼示例。
四、代碼示例
1、使用加密協議
修改/etc/xinetd.d/telnet文件,將對應的選項修改為以下內容:
service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd server_args = -L /bin/login log_on_failure += USERID disable = no type = UNLISTED protocol = tcp port = 23 only_from = 192.168.1.0/24 # 使用加密協議 cps = 50 10 # 超時時間設置 per_source = 10 flags = IPv4 banner_fail = /etc/issue.net banner_success = /etc/issue.net }
2、允許指定用戶登錄telnet服務端
修改/etc/telnetd.conf文件,將對應的選項修改為以下內容:
permit user1 permit user2 deny * # 設置並發連接數限制為10 connections 10 # 設置超時時間為5分鐘 timeout 300
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/188310.html