问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何更改或优化SSH默认端口以提高安全性?

创作时间:
作者:
@小白创作中心

如何更改或优化SSH默认端口以提高安全性?

引用
1
来源
1.
https://www.kdun.com/ask/1310473.html

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上提供安全的远程登录和管理功能。默认情况下,SSH服务侦听22端口,但出于安全考虑,可以更改为其他端口号。本文将详细介绍如何修改SSH端口以及相关的安全配置。

什么是SSH?

SSH,全称Secure Shell,是一种加密的传输协议,用于在不安全的网络上提供安全的远程登录和管理功能。它能够加密服务器和客户端之间的通信,防止数据被窃听或篡改。SSH不仅支持远程登录,还可用于文件传输和自动化任务。

为什么要修改SSH端口?

默认情况下,SSH使用22端口,由于这是众所周知的端口号,一旦有入侵者进行端口扫描时扫描出22端口,就立马知道这是进行SSH登录的端口号。为了提高安全性,有时需要修改SSH端口号以避免被常见的端口扫描攻击所发现。

如何修改SSH端口?

编辑SSH配置文件

通过执行以下命令编辑SSH配置文件:

vim /etc/ssh/sshd_config

找到

#Port 22

这一行,将其修改为所需的端口号:

Port 2223

注意,如果您选择一个非常用端口号,建议注释掉原有的22端口行以避免混淆。

重启SSH服务

保存并关闭配置文件后,重新启动SSH服务以使更改生效:

systemctl restart sshd

在CentOS中,ssh服务命名为sshd:

sudo systemctl restart sshd

确保防火墙放行新端口

在更改SSH端口之前,首先需要调整防火墙以允许新SSH端口上的流量。如果您使用的是Ubuntu的默认防火墙配置工具UFW,请运行以下命令来打开新的SSH端口:

sudo ufw allow 2223/tcp

在CentOS中,默认的防火墙管理工具是FirewallD,要打开新端口,请运行以下命令:

sudo firewall-cmd --permanent --zone=public --add-port=2223/tcp
sudo firewall-cmd --reload

如果使用iptables作为防火墙,则以下命令将打开新的SSH端口:

sudo iptables -A INPUT -p tcp --dport 2223 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

对于SELinux用户,还需要调整SELinux规则以允许新的SSH端口:

sudo semanage port -a -t ssh_port_t -p tcp 2223

验证新的SSH端口

要验证SSH守护程序是否正在侦听新端口2223,请键入:

ss -an | grep 2223

输出应该如下所示:

tcp LISTEN 0 128 0.0.0.0:2223 0.0.0.0:*
tcp LISTEN 0 128 [::]:2223 [::]:

使用新的SSH端口连接

当您已经更改了SSH服务器的默认端口号,您需要在登录时指定新端口,使用 -p 参数指定端口:

ssh -p 2223 username@remote_host_or_ip

或者:

ssh username@remote_host_or_ip:2223

注意事项

修改SSH端口号会增加服务器的安全性,但并不能完全消除所有安全风险。建议同时采取其他安全措施,如使用强密码、禁用root登录、配置防火墙限制访问等。在修改端口号后,确保更新所有本地SSH配置文件以指向新的端口号,这包括但不限于 ~/.ssh/config 文件和任何脚本中的SSH连接命令。如果您使用的是动态端口转发(Dynamic Port Forwarding)或NAT(网络地址转换),请确保正确配置新的端口号以通过防火墙和路由器。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号