禁止root远程登录及修改ssh默认端口号
(一)禁止root远程登陆
#注:
系统版本:Centos 7.9 2009
1.先创建一个普通用户用以备用
[root@20240227-instance ~]# useradd test3
[root@20240227-instance ~]# passwd test3
Changing password for user test3.
New password:
2.修改配置文件/etc/ssh/sshd_config
[root@20240227-instance ~]# vi /etc/ssh/sshd_config
#PermitRootLogin yes #修改该行,将yes改为no,如果该行以#开头,则去掉#以激活该行
PermitRootLogin no
:wq #保存退出
3.重启sshd服务
#查看SSHD服务运行状态,inactive(不可用),active(可用)
[root@20240227-instance ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2024-03-09 09:53:37 CST; 51s ago #正常状态下是running
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 9950 (sshd)
CGroup: /system.slice/sshd.service
└─9950 /usr/sbin/sshd -D
Mar 09 09:53:37 20240227-instance systemd[1]: Stopped OpenSSH server daemon.
Mar 09 09:53:37 20240227-instance systemd[1]: Starting OpenSSH server daemon...
Mar 09 09:53:37 20240227-instance sshd[9950]: Server listening on 0.0.0.0 port 22.
Mar 09 09:53:37 20240227-instance sshd[9950]: Server listening on :: port 22.
Mar 09 09:53:37 20240227-instance systemd[1]: Started OpenSSH server daemon.
#如出现其他信息需要进行另行排查处理
注意:重启服务,服务的pid会随之改变,可用使用reload命令重新加载服务,进程pid不会改变。
[root@20240227-instance ~]# systemctl restart sshd #重启sshd服务
[root@20240227-instance ~]# systemctl stop sshd #关闭sshd服务
[root@20240227-instance ~]# systemctl reload sshd #重新加载sshd服务
4.进行测试
显示拒绝访问。代表设置已经生效。
5.再使用test3普通用户登陆
登陆成功。
(二)修改ssh默认端口号
再次修改文件配置/etc/ssh/sshd_config
[root@20240227-instance ~]# vi /etc/ssh/sshd_config
#port 22 #找到这一栏,修改为想要的端口。需要去掉#号已激活该行
port 4567
:wq
yum -y install telnet #安装telnet软件包
修改完成后进行telnet4567端口
[root@20240227-instance ~]# telnet 116.198.42.167 22
Trying 116.198.42.167...
telnet: connect to address 116.198.42.167: Connection refused #22端口已经访问不通了
[root@20240227-instance ~]# telnet 116.198.42.167 4567
Trying 116.198.42.167...
Connected to 116.198.42.167.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4 #4567端口已可以正常访问
[test3@20240227-instance ~]$ netstat -ntlp
(No info could be read for "-p": geteuid()=1002 but you should be root.)
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:111 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:1234 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN -
tcp6 0 0 :::4567 :::* LISTEN -
[test3@20240227-instance ~]$ #使用普通用户也能使用4567端口进行登陆
附:卸载安装ssh命令
查看ssh相关服务命令
[test3@20240227-instance ~]$ rpm -qa openssh*
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
卸载ssh
[root@20240227-instance ~]# yum remove openssh
#过程较多.中途会让确认是否卸载
Is this ok [y/N]:y
Complete! #已完成
安装ssh
[root@20240227-instance ~]# yum install openssh-service #安装ssh服务
Is this ok [y/d/N]: y #过程较多,中途确认是否安装
Complete! #已完成
然后可以用systemctl status sshd命令来查看sshd服务运行状态。
评论区