Categories: Shell

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

在网络安全的世界中,每一步都至关重要。SSH(Secure Shell)作为一种加密的网络传输协议,被广泛用于远程管理系统和配置网络服务。然而,SSH默认的端口22往往成为攻击者的首选目标。因此,修改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"可以打开相关的手册页面。

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

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

CrowdStrike是一个AI云原生平台

CrowdStrike是全球网…

1天 ago

Tabnine是一款AI编程助手

Tabnine是一款最新的AI…

2天 ago

Adrenaline一个AI开发工具

Adrenaline是一个革命…

2天 ago

Kubeflow一个简化Kubernetes学习工作流程工具

在机器学习(ML)领域,有效地…

2天 ago

CodiumAI一个AI测试工具

CodiumAI不完全依赖于手…

2天 ago

Writesonic一个AI创作助手

Writesonic是一个先进…

2天 ago