menu 学习笔记
search self_improvement
目录

CentOS 7 修改 SSH 端口号

huty
huty 2022年11月08日  ·  阅读 1,122

【说明】
本文为转载文章,著作权归原作者所有。
原文作者:LLLeon
原文链接:https://www.jianshu.com/p/995be5f1cdfa

本文是对 How To Change OpenSSH Port On CentOS 7 的简单翻译,部分内容有更改。

一些网站管理员认为,更改默认为 22 的 SSH 端口号可以增强安全性。这是因为每个人都知道 SSH 默认端口号是 22,当然也包括黑客,所以是不安全的。将 SSH 端口号更改为 22 以外的其他值将增强服务器的安全性,因为坏人不会知道 SSH 通信的端口。

这是一个很酷的技巧,但不会阻止那些决心闯入你服务器的人。

只需使用简单的端口扫描程序或类似工具,黑客就可以找出服务器上的所有连接端口。这是一项古老的技术,可能在我们今天的时间里不适用。

在我看来,保护 SSH 服务器的最佳方法是使用证书和加密实现无密码登录。使用此方法,只允许已使用加密密钥的计算机使用 SSH 协议登录。

另一种方法是通过将该计算机的 IP 地址放到防火墙白名单中,来将防火墙配置为仅允许来自预定义计算机的 SSH 连接。其他任何东西都不会更好地增强您的服务器安全性。

第一步:备份 SSH 配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

第二步:修改 SSH 配置文件

vim /etc/ssh/sshd_config

修改内容,可以把端口修改为你想要修改的值(这里可以在保留 22 端口的情况下,先增加一个新端口,以确保可以通过新端口连接,然后再禁用掉 22 端口):

# If you want to change the port on a SELinux system, you have to tell 
# SELinux about this change. 
# semanage port -a -t ssh_port_t -p tcp 
#PORTNUMBER 
# Port 22 
Port 2233 
#AddressFamily any 
#ListenAddress 0.0.0.0 
#ListenAddress ::

保存文件,在完成修改之前,不要退出登录。

第三步:通过 SELinux 启用新创建的端口

默认情况下,SELinux 只允许端口 22 用于 SSH,现在需要做的是通过 SELinux 启用新创建的端口。
执行以下命令:

semanage port -a -t ssh_port_t -p tcp 2233

如果执行以上命令后报错:semanage command not found,执行这条命令来安装 semanage:

yum -y install policycoreutils-python

安装成功后,再次执行第一条命令,通过 SELinux 来允许新端口。

第四步:允许新端口通过防火墙

执行以下命令允许新端口通过防火墙。

firewall-cmd --permanent --zone=public --add-port=2233/tcp

如果报错:FirewallD is not running,表示防火墙还没有开启,执行以下命令来开启防火墙:

systemctl enable firewalld
systemctl start firewalld

然后查看防火墙状态:

systemctl status firewalld

或者以下命令

firewall-cmd --state

第五步:重载防火墙配置

执行以下命令,重新加载防火墙配置。

firewall-cmd --reload

第六步:重启 SSH 服务

执行以下命令,重启 SSH 服务。

systemctl restart sshd.service

第七步:验证 SSH 运行端口

查看 sshd 状态,看添加的端口是否生效。

systemctl status sshd.service

或者通过运行以下命令验证 SSH 现在是否在新端口上运行。

ss -tnlp | grep ssh

第八步:使用新端口登录

退出并尝试使用新端口号登录。

ssh root@192.168.0.1 -p 2233

第九步:禁用原先的 SSH 端口(22)

修改配置文件,禁用 22 端口。

第十步:重启 SSH 服务

参考第六步,重启 SSH 服务

注意:如果使用的是腾讯云、华为云、阿里云等云服务商的云服务器,则需要配置安全组规则,可以设置入方向和出方向的端口。这里只要在入方向里面添加上面配置的新端口即可。

分类: CentOS
标签: CentOS

评论已关闭