CentOS7开启telnet服务端,配合进行ssh升级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
默认情况下,linux’操作系统我们都是通过ssh进行远程操作,开启telnet一般是在升级ssh的时候需要,开启telnet是为了防止升级ssh之后,无法通过ssh登录系统,可用telnet登录。
 
1.查找telnet安装包
前置条件:服务器可访问互联网
 
安装之前首先查找telnet的安装包
 
[root@localhost ~]# yum list | grep telnet-server
telnet-server.x86_64                        1:0.17-66.el7              updates
[root@localhost ~]# yum list | grep xinetd
xinetd.x86_64                               2:2.3.15-14.el7            base
 
2.执行安装(yum)
使用yum -y install telnet-server.x86_64命令安装telnet服务器
 
[root@localhost ~]# yum -y install telnet-server.x86_64
Loaded plugins: fastestmirror
········(过程省略)
Installed:
  telnet-server.x86_64 1:0.17-66.el7
Complete!
 
使用yum -y install xinetd.x86_64命令安装xinetd守护进程
 
[root@localhost ~]# yum -y install xinetd.x86_64
Loaded plugins: fastestmirror
········(过程省略)
Installed:
  xinetd.x86_64 2:2.3.15-14.el7
Complete!
 
3.配置并启动
3.1 配置开机启动
使用systemctl enable xinetd.service与systemctl enable telnet.socket命令将telnet服务设置为开机自动启动。
 
[root@localhost ~]# systemctl enable xinetd.service
[root@localhost ~]# systemctl enable telnet.socket
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.
 
3.2 启动服务
使用systemctl start telnet.socket与systemctl start xinetd命令启动telnet服务
 
[root@localhost ~]# systemctl start telnet.socket
[root@localhost ~]# systemctl start xinetd
 
使用netstat -ntlp命令查看运行中的端口(如果提示command not found,可运行yum -y install net-tools命令安装网络工具包。)
 
[root@localhost ~]# yum -y install net-tools  #安装网络工具包
Loaded plugins: fastestmirror
········(过程省略)
Installed:
  net-tools.x86_64 0:2.0-0.25.20131004git.el7
Complete!
[root@localhost ~]# netstat -ntlp   #查看端口
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:22              0.0.0.0:*               LISTEN      987/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1146/master
tcp6       0      0 :::22                   :::*                    LISTEN      987/sshd
tcp6       0      0 :::23                   :::*                    LISTEN      1/systemd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1146/master
可以看到,telnet服务已经开启,端口号为23。
 
注意:完成上述步骤后,还不能通过telnet进行登录,因为centos初始安装后默认开启了firewalld防火墙服务,且默认只打开了22端口。还需要进行防火墙配置。
 
3.3 配置防火墙规则
通过firewall-cmd --list-all命令查看防火墙配置
 
[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
添加23端口,并重启防火墙。配置防火墙有两种方式可选:
 
直接对外开放23端口
只对特定地址的终端开启23端口(推荐)
第一种方式比较简单,安全性低,操作如下:
 
[root@localhost ~]# firewall-cmd --add-port=23/tcp --permanent   #永久开启23端口,--permanent 为永久开启,不加此参数重启防火墙后规则不保存
success
[root@localhost ~]# firewall-cmd --reload   #重启防火墙
success
[root@localhost ~]# firewall-cmd --list-all    #查看规则
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 23/tcp
 
第二种方式安全性高,甚至如果只对某一台终端开启23端口,后续可以不卸载(当然建议还是卸载了吧),操作如下:
 
[root@localhost ~]# firewall-cmd  --permanent --add-rich-rule='rule family=ipv4 source address=192.168.12.1 port protocol=tcp port=23 accept'    #--permanent 为永久开启,不加此参数重启防火墙后规则不保存
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all   #查看规则
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
 ······(省略)
  rich rules:
        rule family="ipv4" source address="192.168.12.1" port port="23" protocol="tcp" accept
 
其中source address就是需要访问服务器的终端的ip地址。第二种防火墙配置非常实用,在服务器安全中,强烈推荐多实用第二种防火墙配置方式,比如数据库服务器配置只允许特定的应用服务器访问,能大幅提高服务器环境安全。
 
3.4 安全配置
此时还无法使用root登录,会提示登录错误。因为默认root无法远程访问。
 
Kernel 3.10.0-1127.el7.x86_64 on an x86_64
localhost login: root
Password:
Login incorrect              
 
还需要修改/etc/securetty文件
 
[root@localhost ~]# vim /etc/securetty
 
在末尾添加以下内容:
 
pts/0
pts/1
 
最终内容如下:
 
console
·······(省略)
xvc0
pts/0
pts/1
~
 
4 测试验证
在windows上测试通过telnet登录linux
 
C:\Users\11>telnet 192.168.12.101               
Kernel 3.10.0-1127.el7.x86_64 on an x86_64
localhost login:
 
(输入账户密码)
Last failed login: Wed Mar 30 22:45:11 CST 2022 from ::ffff:192.168.12.1 on pts/0
There was 1 failed login attempt since the last successful login. 
Last login: Wed Mar 30 19:04:51 from 192.168.12.1                    
 
5 关闭telnet
关闭telnet很简单,有很多种方式可以关闭。
 
去除防火墙配置
停止telnet服务并取消开机启动
彻底移除telnet安装包
5.1 去除防火墙配置
去除防火墙配置根据不容的配置方式,使用不同的命令进行移除。核心实际上就是将添加防火墙配置的命令中的add替换为remove即可。
 
[root@localhost ~]# firewall-cmd --remove-port=23/tcp --permanent   #针对直接对外开放23端口的配置的移除
success
[root@localhost ~]#  firewall-cmd  --permanent --remove-rich-rule='rule family=ipv4 source address=192.168.12.1 port protocol=tcp port=23 accept'   #针对第二种方式的防火墙配置的移除
success
[root@localhost ~]# firewall-cmd --reload   #重启防火墙
success
[root@localhost ~]# firewall-cmd --list-all   #查看配置
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
5.2 停止telnet服务并取消开机启动
停止服务与开启服务命令类似,将开启服务的start换为stop即可。
 
[root@localhost ~]# systemctl stop telnet.socket
[root@localhost ~]# systemctl stop xinetd
1
2
取消开机启动原理一样,将enable替换为disable即可。
 
[root@localhost ~]# systemctl disable xinetd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/xinetd.service.
[root@localhost ~]#  systemctl disable telnet.socket
Removed symlink /etc/systemd/system/sockets.target.wants/telnet.socket.
 
5.3 彻底移除telnet安装包
移除安装包与安装安装包类似,将install替换为remove即可。(是不是发现了什么新大陆)
 
[root@localhost ~]# yum -y remove telnet-server.x86_64
Loaded plugins: fastestmirror
········(过程省略)
Installed:
  telnet-server.x86_64 1:0.17-66.el7
Complete!
[root@localhost ~]# yum -y remove xinetd.x86_64
Loaded plugins: fastestmirror
········(过程省略)
Installed:
  xinetd.x86_64 2:2.3.15-14.el7
Complete!
 
至此,关于在CentOS7上安装telnet、卸载telnet的方法就完全介绍完了,希望对大家有用
————————————————
版权声明:本文为CSDN博主「云间歌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lhrm0213/article/details/123862835

  

posted @   有点丿东西  阅读(78)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示