首先說明,telnet登錄服務器是一種不安全的遠程登錄方式。先森之所以會需要telnet登錄服務器,是因為有時候需要對OpenSSH進行配置修改、漏洞修復、升級等操作時,需要telnet作為保險,以免誤操作導致無法登錄服務器。
基礎
先科普一點基礎。
telnet:是telnet的客戶端,除了Linux可以安裝外,Windows默認也是安裝了的(先森是win7系統,win7以下的不知道是否自帶)。telnet通常還可以檢測服務器端口是否開啟。
telnet-server:這才是可以開啟遠程登錄的服務端軟件。
部署
系統:CentOS 6.8 x64
1.直接yum安裝telnet-server:
yum install -y telnet-server
2.守護進程。telnet需要依賴超級守護進程xinetd啟動,若為安裝還需要先安裝。
yum install -y xinetd
3.啟動telnet:
chkconfig telnet on service xinetd restart
4.允許登錄:
echo 'pts/0' >>/etc/securetty echo 'pts/1' >>/etc/securetty
“/etc/securetty”文件允許你規定“root”用戶可以從那個TTY設備登錄。
pts是pesudo tty slave,是偽終端的slave端。
5.開啟防火墻端口。請先確保已經關閉SElinux。
在防火墻配置文件/etc/sysconfig/iptables中,復制22端口那行粘貼在其下面,開啟23端口,保存并重啟iptables。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT service iptables restart
登錄
telnet登錄有很多方式:
方式一:Xshell不登錄服務器,直接打開一個標簽,輸入telnet + IP即可。

Xshell直接登錄
方式二:服務器安裝telnet,也通過telnet + IP登錄。
yum install -y telnet telnet 127.0.0.1 #技巧,可以本機測試
方式三:通過Windows的CMD命令行登錄。
WIN+R鍵輸入cmd,回車進入cmd命令行終端。也是輸入telnet + IP即可登錄。

Windows登錄
問題
有時候登錄時,即使密碼輸入正確,也提醒login incorrect(登錄錯誤),如上圖。
這種問題可能是telnet登錄的偽終端pts正好不在你寫的/etc/securetty里面。這時候可以在服務器端通過查看日志,確定使用的是哪個pts。
tail -f /var/log/secure

查看日志
上圖可以看到,紅框中顯示“tty 'pts/2' is not secure(tty的'pts/2'是不安全的)”,所以只需要將'pts/2'加入到/etc/securetty即可。
echo 'pts/2' >>/etc/securetty
關閉
論安全,還是OpenSSH更為安全,所以在對OpenSSH操作完后,一定記得關閉telnet與防火墻23端口。
chkconfig telnet off service xinetd restart sed -i '/23/ s/^/#/' /etc/sysconfig/iptables service iptables restart
偷懶
如果不想一步一步的操作安裝telnet-server的話,可以把下面的命令復制,到服務器上粘貼等待完成即可。也可以寫成腳本。
yum install -y telnet-server chkconfig telnet on echo 'pts/0' >>/etc/securetty echo 'pts/1' >>/etc/securetty service xinetd restart sed -i 's/^-A\(.*\)22 \(.*\)/&\n-A\123 \2/' /etc/sysconfig/iptables service iptables restart iptables -L -n
轉載請注明出處來自http://www.cnidcc.cn/linux_telnet.html

川公網安備 51011202000104號