預設在centOS最小安裝下沒有安裝telnet服務的,需要自己安裝(root權限):
錯誤:
[root@localhost log]# telnet 192.168.10.56 27017
-bash: telnet: command not found
1:檢視系統版本資訊(centos7):
[root@localhost log]# cat /etc/issue
\S
Kernel \r on an \m
2:檢查是否安裝telnet:
[root@localhost log]# rpm -qa | grep telnet
[root@localhost log]#
3:進行安裝,用戶端和伺服器端:
[root@localhost xinetd.d]# yum -y install telnet
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
……………………
Verifying : 1:telnet-0.17-59.el7.x86_64 1/1
Installed:
telnet.x86_64 1:0.17-59.el7
Complete!
[root@localhost xinetd.d]# yum -y install telnet-server
Verifying : 1:telnet-server-0.17-59.el7.x86_64 1/1
telnet-server.x86_64 1:0.17-59.el7
注:如果安裝telnet-server服務啟動依賴xinetd服務.xinetd超級服務為管理保護各個服務,未安裝,需要首先按照。
xinetd:eXtended InterNET services daemon,超級Internet伺服器,常用來管理多種輕量級Internet服務。
4:檢視是否安裝xinetd (若安裝則不安裝):
[root@localhost ~]# rpm -qa | grep xinetd
[root@localhost ~]#
5:安裝xinetd服務:
[root@localhost init.d]# yum -y install xinetd
base | 3.6 kB 00:00:00
Verifying : 2:xinetd-2.3.15-12.el7.x86_64 1/1
xinetd.x86_64 2:2.3.15-12.el7
xinetd安裝完成!
6:telnet服務之後,預設是不開啟服務,修改檔案/etc/xinetd.d/telnet來開啟服務:
注:如有則修改,第一次修改,此檔案若不存在,可自己vim建立修改:
修改 disable = yes 為 disable = no
[root@localhost xinetd.d]# pwd
/etc/xinetd.d
[root@localhost xinetd.d]# ls
chargen-dgram chargen-stream daytime-dgram daytime-stream discard-dgram discard-stream echo-dgram echo-stream tcpmux-server time-dgram time-stream
[root@localhost xinetd.d]# vim telnet
[root@localhost xinetd.d]# cat telnet
修改後的telnet檔案為:
# default: yes
# description: The telnet server servestelnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
7:安裝後檢查:
[root@CentOS-Slave1 xinetd.d]# rpm -qa | grep telnet
telnet-0.17-59.el7.x86_64
telnet-server-0.17-59.el7.x86_64
[root@CentOS-Slave1 xinetd.d]# rpm -qa | grep xinetd
xinetd-2.3.15-12.el7.x86_64
8:啟動telnet和依賴的xinetd服務:
在centos7之前:
$ service xinetd restart
或$ /etc/rc.d/init.d/xinetd restart
在centos7中(無xinetd的service啟動項):
[root@CentOS-Slave1 xinetd.d]# service xinetd restart
Redirecting to /bin/systemctl restart xinetd.service
[root@CentOS-Slave1 xinetd.d]# systemctl restart xinetd.service
或
[root@CentOS-Slave1 xinetd.d]# /bin/systemctl restart xinetd.service
9:檢視啟動:
[root@CentOS-Slave1 xinetd.d]# ps -ef | grep xinetd
root 6641 1 0 23:22 ? 00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root 6644 5817 0 23:24 pts/3 00:00:00 grep --color=auto xinetd
[root@CentOS-Slave1 pam.d]# telnet 192.168.10.56
Trying 192.168.10.56...
Connected to 192.168.10.56.
Escape character is '^]'.
Kernel 3.10.0-229.el7.x86_64 on an x86_64
CentOS-Slave1 login: root
Password:
Last failed login: Sat Oct 17 23:25:50 CST 2015 from CentOS-Slave1 on pts/0
There were 3 failed login attempts since the last successful login.
Last login: Sat Oct 17 22:22:27 from CentOS-Slave1
[root@CentOS-Slave1 ~]# exit
logout
Connection closed by foreign host.
11:設定服務開機啟動:
[root@CentOS-Slave1 rc3.d]# chkconfig --level 35 xinetd on
Note: Forwarding request to 'systemctl enable xinetd.service'.
[root@CentOS-Slave1 rc3.d]# systemctl enable xinetd.service
12:檢視:
[root@CentOS-Slave1 rc3.d]# chkconfig --list
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xinetd based services:
chargen-dgram: off
chargen-stream: off
daytime-dgram: off
daytime-stream: off
discard-dgram: off
discard-stream: off
echo-dgram: off
echo-stream: off
tcpmux-server: off
telnet: on
time-dgram: off
time-stream: off
備注附件:
問題1:
telnet下root登入,密碼正确,總提示:Login incorrect
解決1:注釋/etc/pam.d/remote的第一行,
即:auth required pam_securetty.so
[root@CentOS-Slave1 pam.d]# pwd
/etc/pam.d
[root@CentOS-Slave1 pam.d]# cat remote
#%PAM-1.0
#telent 遠端root登陸允許
#auth required pam_securetty.so
auth substack password-auth
auth include postlogin
………………
問題2:其他機器遠端telnet的時候,登陸不成功,可能是防火牆的問題,修改防火牆的設定:
注:netstat –tunlp檢視是否23端口被防火牆封掉:
[root@CentOS-Slave1 pam.d]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 5891/./mongod
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 848/sshd
tcp6 0 0 :::3306 :::* LISTEN 1997/mysqld
tcp6 0 0 :::22 :::* LISTEN 848/sshd
tcp6 0 0 :::23 :::* LISTEN 1/systemd
再使用iptables修改設定,使用service iptables save儲存設定,然後service iptables restart重新開機防火牆:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //儲存
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指令:
#close關閉目前連接配接
#logout強制退出遠端使用者并關閉連接配接
#display顯示目前操作的參數
#mode試圖進入指令行方式或字元方式
#open連接配接到某一站點
#quit退出
#telnetsend發送特殊字元
#set設定目前操作的參數
#unset複位目前操作參數
#status列印狀态資訊
#toggle對操作參數進行開關轉換
#slc改變特殊字元的狀态
#auth打開/關閉确認功能z挂起
#telnetenviron更改環境變量,顯示幫助資訊
iptables參數:
iptables [-AI 鍊名] [-io 網絡接口] [-p 協定] \
> [-s 來源IP/網域] [-d 目标IP/網域] -j [ACCEPT|DROP|REJECT|LOG]
選項與參數:
-AI 鍊名:針對某的鍊進行規則的 "插入" 或 "累加"
-A :新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條規則,
使用 -A 就可以加上第五條規則!
-I :插入一條規則。如果沒有指定此規則的順序,預設是插入變成第一條規則。
例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5 号
鍊 :有 INPUT, OUTPUT, FORWARD 等,此鍊名稱又與 -io 有關,請看底下。
-io 網絡接口:設定封包進出的接口規範
-i :封包所進入的那個網絡接口,例如 eth0, lo 等接口。需與 INPUT 鍊配合;
-o :封包所傳出的那個網絡接口,需與 OUTPUT 鍊配合;
-p 協定:設定此規則适用于哪種封包格式,主要的封包格式有: tcp, udp, icmp 及 all 。
-s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域,例如:IP :192.168.0.100
網域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
若規範為『不許』時,則加上 ! 即可,例如:-s ! 192.168.100.0/24 表示不許 192.168.100.0/24 之封包來源;
-d 目标 IP/網域:同 -s ,隻不過這裡指的是目标的 IP 或網域。
-j :後面接動作,主要的動作有接受(ACCEPT)、丢棄(DROP)、拒絕(REJECT)及記錄(LOG)
linux運作級别
chkconfig指令提供了一種簡單的方式來設定一個服務的運作級别,on和off分别指服務被啟動和停止。
運作級别就是作業系統目前正在運作的功能級别。級别是從0到6。
級别3和5上設定服務為“on”
chkconfig --level 35 mysql on
其他級别上設為off
chkconfig --level 01246 mysql off
列出服務将會運作的運作級别
#chkconfig --list mysql
mysql 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Linux下的7個運作級别:
0:系統停機狀态,系統預設運作級别不能設定為0,否則不能正常啟動,機器關閉。
1:單使用者工作狀态,root權限,用于系統維護,禁止遠端登陸,就像Windows下的安全模式 登入。
2:多使用者狀态,沒有NFS支援。
3:完整的多使用者模式,有NFS,登陸後進入控制台指令行模式。
4:系統未使用,保留一般不用,在一些特殊情況下可以用它來做一些事情。eg:在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設定。
5:X11控制台,登陸後進入圖形GUI模式,XWindow系統。
6:系統正常關閉并重新開機,預設運作級别不能設為6,否則不能正常啟動。運作init6機器就會重新開機。
标準的Linux運作級别為3或5運作級别原理:
1.在目錄/etc/rc.d/init.d下有許多伺服器腳本程式,一般稱為服務(service)
2.在/etc/rc.d下有7個名為rcN.d的目錄(N:0,1,2……),對應系統的7個運作級别
3.rcN.d目錄下都是一些符号連結檔案,這些連結檔案都指向init.d目錄下的service腳 本檔案,命名規則為K+nn+服務名或S+nn+服務名,其中nn為兩位數字。
4.系統會根據指定的運作級别進入對應的rcN.d目錄,并按照檔案名順序檢索目錄下的連結檔案:對于以K(Kill)開頭的檔案,系統将終止對應的服;對于以S(Start開頭的檔案,系統将啟動對應的服務
5.檢視運作級别用:runlevel
[root@CentOS-Slave1 pam.d]# runlevel
N 3
[root@CentOS-Slave1 etc]# cd rc.d/
[root@CentOS-Slave1 rc.d]# ls
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
[root@CentOS-Slave1 rc.d]# cd rc3.d/
[root@CentOS-Slave1 rc3.d]# ls
K50netconsole S10network S64mysql
[root@CentOS-Slave1 rc3.d]# pwd
/etc/rc.d/rc3.d
本文轉自 zfno11 51CTO部落格,原文連結:http://blog.51cto.com/zfno111/1937230