Centos 7 telnet 詳解


telnet命令


telnet命令用於登陸遠程主機,對遠程主機進行管理。telnet由於採用明文傳送報文,安全性很差,不少Linux服務器都不開放telnet服務,而改用更安全的ssh方式了。但仍然有不少別的系統可能採用了telnet方式來提供遠程登陸,所以弄清楚telnet客戶端的使用方式還是頗有必要的。css

語法

telnet(選項)(參數)

選項

-8:容許使用8位字符資料,包括輸入與輸出;
-a:嘗試自動登入遠端系統;
-b<主機別名>:使用別名指定遠端主機名稱;
-c:不讀取用戶專屬目錄裏的.telnetrc文件;
-d:啓動排錯模式;
-e<脫離字符>:設置脫離字符;
-E:濾除脫離字符;
-f:此參數的效果和指定"-F"參數相同;
-F:使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機;
-k<域名>:使用Kerberos認證時,加上此參數讓遠端主機採用指定的領域名,而非該主機的域名;
-K:不自動登入遠端主機;
-l<用戶名稱>:指定要登入遠端主機的用戶名稱;
-L:容許輸出8位字符資料;
-n<記錄文件>:指定文件記錄相關信息;
-r:使用相似rlogin指令的用戶界面;
-S<服務類型>:設置telnet連線所需的ip TOS信息;
-x:假設主機有支持數據加密的功能,就使用它;
-X<認證形態>:關閉指定的認證形態。

參數

  • 遠程主機:指定要登陸進行管理的遠程主機;
  • 端口:指定TELNET協議使用的端口號。

實例

telnet 192.168.2.10
Trying 192.168.2.10...
Connected to 192.168.2.10 (192.168.2.10).
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



默認在centOS最小安裝下沒有安裝telnet服務的,須要本身安裝(root權限):java

錯誤:python


  
  
  
  
  1. [root@localhost log] # telnet 192.168.10.56 27017
  2. -bash : telnet: command not found

1:查看系統版本信息(centos7):mysql


  
  
  
  
  1. [root@localhost log] # cat /etc/issue
  2. \S
  3. Kernel \r on an \ m

2:檢查是否安裝telnet:linux


   
   
   
   
  1. [root@localhost log] # rpm -qa | grep telnet
  2. [root@localhost log] #
3:進行安裝,客戶端和服務器端:

   
   
   
   
  1. [root@localhost xinetd.d] # yum -y install telnet
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. ……………………
  5. Verifying : 1:telnet-0.17-59.el7.x86_64 1/1
  6. Installed:
  7. telnet.x86_64 1:0.17-59.el7
  8. Complete!
  9. [root@localhost xinetd.d] # yum -y install telnet-server
  10. Loaded plugins: fastestmirror
  11. Loading mirror speeds from cached hostfile
  12. ……………………
  13. Verifying : 1:telnet-server-0.17-59.el7.x86_64 1/1
  14. Installed:
  15. telnet-server.x86_64 1:0.17-59.el7
  16. Complete!

注:若是安裝telnet-server服務啓動依賴xinetd服務.xinetd超級服務爲管理保護各個服務,未安裝,須要首先按照。web

xinetd:eXtended InterNET services daemon,超級Internet服務器,經常使用來管理多種輕量級Internet服務。sql

4:查看是否安裝xinetd (若安裝則不安裝):vim


  
  
  
  
  1. [root@localhost ~] # rpm -qa | grep xinetd
  2. [root@localhost ~] #

5:安裝xinetd服務:centos


  
  
  
  
  1. [root@localhost init.d] # yum -y install xinetd
  2. Loaded plugins: fastestmirror
  3. base | 3.6 kB 00:00: 00
  4. ……………………
  5. Verifying : 2:xinetd-2.3.15-12.el7.x86_64 1/1
  6. Installed:
  7. xinetd.x86_64 2:2.3.15-12.el7
  8. Complete!

xinetd安裝完成!
6:telnet服務以後,默認是不開啓服務,修改文件/etc/xinetd.d/telnet來開啓服務:

注:若有則修改,第一次修改,此文件若不存在,可本身vim建立修改:
       修改 disable = yes 爲 disable = no
安全


  
  
  
  
  1. [root@localhost xinetd.d] # pwd
  2. /etc/xinetd.d
  3. [root@localhost xinetd.d] # ls
  4. chargen-dgram chargen-stream daytime-dgram daytime-stream discard-dgram discard-stream echo-dgram echo-stream tcpmux-server time-dgram time-stream
  5. [root@localhost xinetd.d] # vim telnet
  6. [root@localhost xinetd.d] # cat telnet

修改後的telnet文件爲:


  
  
  
  
  1. # default: yes
  2. # description: The telnet server servestelnet sessions; it uses \
  3. # unencrypted username/password pairs for authentication.
  4. service telnet
  5. {
  6. flags = REUSE
  7. socket_type = stream
  8. wait = no
  9. user = root
  10. server =/usr/sbin/in.telnetd
  11. log_on_failure += USERID
  12. disable = no
  13. }

7:安裝後檢查:


  
  
  
  
  1. [root@CentOS-Slave1 xinetd.d] # rpm -qa | grep telnet
  2. telnet-0.17-59.el7.x86_64
  3. telnet-server-0.17-59.el7.x86_64
  4. [root@CentOS-Slave1 xinetd.d] # rpm -qa | grep xinetd
  5. xinetd-2.3.15-12.el7.x86_64

8:啓動telnet和依賴的xinetd服務:

在centos7以前:


  
  
  
  
  1. $ service xinetd restart
  2. 或$ /etc/rc.d/init.d/xinetd restart

在centos7中(無xinetd的service啓動項):


  
  
  
  
  1. [root@CentOS-Slave1 xinetd.d] # service xinetd restart
  2. Redirecting to /bin/systemctl restart xinetd.service
  3. [root@CentOS-Slave1 xinetd.d] # systemctl restart xinetd.service


  
  
  
  
[root@CentOS-Slave1 xinetd.d]# /bin/systemctl restart xinetd.service

9:查看啓動:


  
  
  
  
  1. [root@CentOS-Slave1 xinetd.d] # ps -ef | grep xinetd
  2. root 6641 1 0 23:22 ? 00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
  3. root 6644 5817 0 23:24 pts/3 00:00:00 grep --color=auto xinetd

10:測試telent,輸入ip+用戶名+密碼登錄,登錄問題見備註附件:


  
  
  
  
  1. [root@CentOS-Slave1 pam.d] # telnet 192.168.10.56
  2. Trying 192.168.10.56...
  3. Connected to 192.168.10.56.
  4. Escape character is '^]'.
  5. Kernel 3.10.0-229.el7.x86_64 on an x86_64
  6. CentOS-Slave1 login: root
  7. Password:
  8. Last failed login: Sat Oct 17 23:25:50 CST 2015 from CentOS-Slave1 on pts/ 0
  9. There were 3 failed login attempts since the last successful login.
  10. Last login: Sat Oct 17 22:22:27 from CentOS-Slave1
  11. [root@CentOS-Slave1 ~] # exit
  12. logout
  13. Connection closed by foreign host.
11:設置服務開機啓動:

  
  
  
  
  1. [root@CentOS-Slave1 rc3.d] # chkconfig --level 35 xinetd on
  2. Note: Forwarding request to 'systemctl enable xinetd.service'.
  3. [root@CentOS-Slave1 rc3.d] # systemctl enable xinetd.service
12:查看:

   
   
   
   
  1. [root@CentOS-Slave1 rc3.d] # chkconfig --list
  2. Note: This output shows SysV services only and does not include native
  3. systemd services. SysV configuration data might be overridden by native
  4. systemd configuration.
  5. If you want to list systemd services use 'systemctl list-unit-files'.
  6. To see services enabled on particular target use
  7. 'systemctl list-dependencies [target]'.
  8. mysql 0:off 1:off 2:on 3:on 4:on 5:on 6: off
  9. netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6: off
  10. network 0:off 1:off 2:on 3:on 4:on 5:on 6: off
  11. xinetd based services:
  12. chargen-dgram: off
  13. chargen-stream: off
  14. daytime-dgram: off
  15. daytime-stream: off
  16. discard-dgram: off
  17. discard-stream: off
  18. echo-dgram: off
  19. echo-stream: off
  20. tcpmux-server: off
  21. telnet: on
  22. time-dgram: off
  23. time-stream: off

備註附件:

問題1:

telnet下root登陸,密碼正確,總提示:Login incorrect
解決1:註釋/etc/pam.d/remote的第一行,
即:auth       required     pam_securetty.so


  
  
  
  
  1. [root@CentOS-Slave1 pam.d] # pwd
  2. /etc/pam.d
  3. [root@CentOS-Slave1 pam.d] # cat remote
  4. #%PAM-1.0
  5. #telent 遠程root登錄容許
  6. #auth required pam_securetty.so
  7. auth substack password-auth
  8. auth include postlogin
  9. ………………

問題2:其餘機器遠程telnet的時候,登錄不成功,多是防火牆的問題,修改防火牆的設置:
注:netstat –tunlp查看是否23端口被防火牆封掉:

   
   
   
   
  1. [root@CentOS-Slave1 pam.d] # netstat -tunlp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 5891/./mongod
  5. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 848/sshd
  6. tcp6 0 0 :::3306 :::* LISTEN 1997/mysqld
  7. tcp6 0 0 :::22 :::* LISTEN 848/sshd
  8. tcp6 0 0 :::23 :::* LISTEN 1/systemd
再使用iptables修改設置,使用service iptables save保存設置,而後service iptables restart重啓防火牆:

  
  
  
  
  1. iptables -I INPUT -p tcp --dport 23 -jACCEPT
  2. iptables -I INPUT -p udp --dport 23 -jACCEPT
  3. service iptables save //保存
  4. service iptables restart //重啓防火牆
問題new:
[root@CentOS-Slave1 rc3.d]# chkconfig --level 35 xinetd on
Note: Forwarding request to 'systemctl enable xinetd.service'.
[root@CentOS-Slave1 xinetd.d]# service xinetd restart
Redirecting to /bin/systemctl restart  xinetd.service
解決new:
指令能夠用,可是新版本系統,指令被(從新定向Redirecting/轉發Forwarding)到:
service xinetd restart  ---> systemctl restart  xinetd.service

chkconfig --level 35 xinetd on ---> systemctl enable sshd.service      #對應爲disable
$.記住:之後控制服務就用這個指令。
疑問3:telnet登錄主機後會提示Escape character is '^]':
點擊提示的意思是按Ctrl + ] 會呼出telnet的命令行,就能夠執行telnet命令:
telnet命令:

   
   
   
   
  1. #close關閉當前鏈接
  2. #logout強制退出遠程用戶並關閉鏈接
  3. #display顯示當前操做的參數
  4. #mode試圖進入命令行方式或字符方式
  5. #open鏈接到某一站點
  6. #quit退出
  7. #telnetsend發送特殊字符
  8. #set設置當前操做的參數
  9. #unset復位當前操做參數
  10. #status打印狀態信息
  11. #toggle對操做參數進行開關轉換
  12. #slc改變特殊字符的狀態
  13. #auth打開/關閉確認功能z掛起
  14. #telnetenviron更改環境變量,顯示幫助信息
iptables參數:

   
   
   
   
  1. iptables [-AI 鏈名] [-io 網絡接口] [-p 協議] \
  2. > [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP|REJECT|LOG]
  3. 選項與參數:
  4. -AI 鏈名:針對某的鏈進行規則的 "插入" 或 "累加"
  5. -A :新增長一條規則,該規則增長在本來規則的最後面。例如本來已經有四條規則,
  6. 使用 -A 就能夠加上第五條規則!
  7. -I :插入一條規則。若是沒有指定此規則的順序,默認是插入變成第一條規則。
  8. 例如本來有四條規則,使用 -I 則該規則變成第一條,而本來四條變成 2~5 號
  9. 鏈 :有 INPUT, OUTPUT, FORWARD 等,此鏈名稱又與 -io 有關,請看底下。
  10. -io 網絡接口:設定封包進出的接口規範
  11. -i :封包所進入的那個網絡接口,例如 eth0, lo 等接口。需與 INPUT 鏈配合;
  12. -o :封包所傳出的那個網絡接口,需與 OUTPUT 鏈配合;
  13. -p 協定:設定此規則適用於哪一種封包格式,主要的封包格式有: tcp, udp, icmp 及 all 。
  14. -s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域,例如:IP :192.168.0.100
  15. 網域:192.168.0.0/24, 192.168.0.0/255.255.255.0 都可。
  16. 若規範爲『不準』時,則加上 ! 便可,例如:-s ! 192.168.100.0/24 表示不準 192.168.100.0/24 之封包來源;
  17. -d 目標 IP/網域:同 -s ,只不過這裏指的是目標的 IP 或網域。
  18. -j :後面接動做,主要的動做有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)
linux運行級別
   
  1. chkconfig命令提供了一種簡單的方式來設置一個服務的運行級別,on和off分別指服務被啓動和中止。
  2. 運行級別就是操做系統當前正在運行的功能級別。級別是從06
  3. 級別35上設定服務爲「on」
  4. chkconfig --level 35 mysql on
  5. 其餘級別上設爲off
  6. chkconfig --level 01246 mysql off
  7. 列出服務將會運行的運行級別
  8. #chkconfig --list mysql
  9. mysql 0:off 1:off 2:off 3:on 4:off 5:on 6 :off
  10. Linux下的7個運行級別:
  11. 0 :系統停機狀態,系統默認運行級別不能設置爲0,不然不能正常啓動,機器關閉。
  12. 1 :單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄,就像Windows下的安全模式 登陸。
  13. 2 :多用戶狀態,沒有NFS支持。
  14. 3 :完整的多用戶模式,有NFS,登錄後進入控制檯命令行模式。
  15. 4 :系統未使用,保留通常不用,在一些特殊狀況下能夠用它來作一些事情。eg:在筆記本電腦的電池用盡時,能夠切換到這個模式來作一些設置。
  16. 5 :X11控制檯,登錄後進入圖形GUI模式,XWindow系統。
  17. 6 :系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動。運行init6機器就會重啓。
  18. 標準的Linux運行級別爲35運行級別原理:
  19. 1 .在目錄/etc/rc.d/init.d下有許多服務器腳本程序,通常稱爲服務(service)
  20. 2 .在/etc/rc.d下有7個名爲rcN.d的目錄(N:0,1,2……),對應系統的7個運行級別
  21. 3 .rcN.d目錄下都是一些符號連接文件,這些連接文件都指向init.d目錄下的service腳 本文件,命名規則爲K+nn+服務名或S+nn+服務名,其中nn爲兩位數字。
  22. 4 .系統會根據指定的運行級別進入對應的rcN.d目錄,並按照文件名順序檢索目錄下的連接文件:對於以K(Kill)開頭的文件,系統將終止對應的服;對於以S(Start開頭的文件,系統將啓動對應的服務
  23. 5 .查看運行級別用:runlevel
  24. [root@CentOS-Slave1 pam.d] # runlevel
  25. N 3
  26. [root@CentOS-Slave1 etc] # cd rc.d/
  27. [root@CentOS-Slave1 rc.d] # ls
  28. init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
  29. [root@CentOS-Slave1 rc.d] # cd rc3.d/
  30. [root@CentOS-Slave1 rc3.d] # ls
  31. K50netconsole S10network S64mysql
  32. [root@CentOS-Slave1 rc3.d] # pwd
  33. /etc/rc.d/rc3.d
--------------------- 本文來自 TS_A1 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/typa01_kk/article/details/46604967?utm_source=copy
相關文章
相關標籤/搜索