如何修改SSH服务的默认端口

在网络安全的世界中,每一步都至关重要。SSH(Secure Shell)作为一种加密的网络传输协议,被广泛用于远程管理系统和配置网络服务。然而,SSH默认的端口22往往成为攻击者的首选目标。因此,修改SSH服务的默认端口是提高服务器安全性的方法之一。

SSH服务

打开配置文件

首先,你需要登录到你的服务器,然后打开sshd_config文件:

[root@centos ~]# vim /etc/ssh/sshd_config

修改端口设置

在sshd_config文件中,找到#Port 22,这行默认是被注释掉的。你需要先去掉前面的#号,然后在下一行设置你想要的端口号。注意新的端口号不能与现有的端口号重复。例如,你可以将端口设置为10022:

# 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 10022

SSH默认监听端口是22,如果你不明确指定其他端口,无论"Port 22"是否被注释,都将开放22端口。为了防止因权限和配置问题导致无法访问22端口,建议先保留22端口。等到新的端口设置完全没有问题后,再关闭22端口。

在选择新的端口号时,最好选择10000~65535范围内的端口号,因为10000以下的端口可能已被系统或某些特殊软件占用。如果你占用了这些端口,可能会导致未来新的应用无法运行。

重启SSH服务和服务器

完成端口设置后,你需要重启SSH服务,也最好重启服务器:

systemctl restart sshd  
shutdown -r now  

测试新端口

重启服务器后,你可以尝试通过新的端口登录SSH,或者直接在服务器上本地访问SSH:

[root@centos7 ~]#ssh root@localhost -p 10022

如果能成功登录,说明新的端口已经可以正常使用。此时,你可以按照上述步骤,将sshd_config文件中的"Port 22"注释掉。

SSH获取配置数据的顺序

SSH可以从用户级配置文件和系统级配置文件中获取配置数据,这样可以在使用SSH时省去很多繁琐的命令选项。实际上,当你使用SSH命令进行远程登录时,SSH会按照以下顺序获取配置数据:

  1. 命令行选项
  2. 用户的配置文件(~/.ssh/config)
  3. 系统级的配置文件(/etc/ssh/ssh_config)

通过配置文件设置SSH命令默认端口

你可以通过修改~/.ssh/config或/etc/ssh/ssh_config文件中的Port选项来设置SSH命令的默认端口。例如,你可以将默认端口设置为36000:

Port 36000

关于SSH客户端配置文件的详细内容,你可以参考ssh_config(5)。使用命令"man 5 ssh_config"可以打开相关的手册页面。

Linux 中进程运行多长时间查看的5种方法
10个Linux实用小技巧
标签:

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

18 + 19 =

ajax-loader