SSH修改端口的步骤
1. 修改SSH配置文件
编辑配置文件:使用文本编辑器(如vim、nano)打开/etc/ssh/sshd_config
文件,命令如下:
```bash
sudo vim /etc/ssh/sshd_config
```
添加或修改端口号:在配置文件中找到#Port 22
这一行,将其取消注释并修改为你想要的新端口号,将端口改为2020:
```plaintext
Port 2020
```
如果你需要同时保留旧的22端口和新加的端口,可以添加一行新的端口配置:
```plaintext
Port 22
Port 2020
```
保存并退出:保存配置文件并退出编辑器。
重启SSH服务:应用更改的配置,需要重启SSH服务,命令如下:
```bash
sudo systemctl restart sshd.service
```
2. 配置防火墙规则
启动防火墙:如果防火墙没有启动,先启动防火墙服务,命令如下:
```bash
sudo systemctl start firewalld.service
```
添加新端口规则:添加刚刚设置的新端口到防火墙规则中,确保其永久生效,命令如下:
```bash
sudo firewallcmd zone=public addport=2020/tcp permanent
```
重新加载防火墙:使新的防火墙规则立即生效,命令如下:
```bash
sudo firewallcmd reload
```
验证防火墙规则:确认新端口已经添加到防火墙规则中,命令如下:
```bash
sudo firewallcmd listall
```
3. 断开当前连接并测试新端口
断开当前SSH连接:关闭当前的SSH会话,然后尝试通过新端口重新连接服务器,使用以下命令连接:
```bash
ssh p 2020 username@server_ip
```
验证连接:确保可以通过新的端口成功连接到服务器,如果一切正常,则继续下一步。
4. 删除旧端口(可选)
再次编辑配置文件:用文本编辑器打开/etc/ssh/sshd_config
文件,命令如下:
```bash
sudo vim /etc/ssh/sshd_config
```
删除旧端口:删除Port 22
这一行(如果之前保留了两个端口)。
保存并退出:保存配置文件并退出编辑器。
重启SSH服务:应用更改的配置,需要重启SSH服务,命令如下:
```bash
sudo systemctl restart sshd.service
```
FAQs
1. 为什么需要修改SSH默认端口?
答:修改SSH默认端口的主要目的是提高服务器的安全性,默认的SSH端口是22,这已经被广泛知晓,因此容易成为暴力破解和自动化攻击的目标,通过将SSH端口改为一个不常用的高端口(例如10000到65535之间的某个端口),可以减少被攻击的风险,因为攻击者通常不会花费大量资源去猜测所有可能的端口号。
2. 修改SSH端口后,如何确保连接的稳定性?
答:为确保连接的稳定性,需要注意以下几点:
防火墙配置:确保在新端口上正确配置了防火墙规则,允许SSH流量通过该端口,可以使用firewallcmd listall
命令检查端口是否已成功添加至防火墙规则中。
SELinux配置:如果系统启用了SELinux,还需要更新SELinux策略以允许新的SSH端口,可以使用semanage port a t ssh_port_t p tcp [新端口]
命令添加新端口。
客户端配置:在SSH客户端连接时,需要指定新的端口号,使用ssh p [新端口] username@server_ip
命令进行连接。
日志监控:定期检查系统日志(如/var/log/secure
)以确保没有连接问题或其他异常情况。
测试连接:在正式切换到新端口之前,务必通过多个不同的网络和设备测试SSH连接,确保在任何情况下都能稳定连接。