如何[正确,安全地]在Linux中更改SSH默认端口


原文地址:如何[正确,安全地]在Linux中更改SSH默认端口

更改默认SSH端口是增强SSH服务器安全性的几种方法之一,本篇文章分享如何正确的更改Linux中SSH默认端口

如果您了解SSH基础知识,那么您已经知道SSH默认使用端口22。

通过SSH连接到服务器时,大多数情况下,您不提供任何端口信息。在这种情况下,您的连接将连接到SSH服务器的端口22。

您可以使用以下步骤将默认端口从您选择的端口号22更改为:

  • 打开/etc/ssh/sshd_config文件进行编辑。
  • 找到具有的行Port 22(如果用#注释掉,则也删除#)。
  • 将线路更改为端口2522(或您选择的介于1024和65535之间的任意数字)。
  • 确保防火墙允许新端口(如果有)。
  • 使用重启ssh守护进程sudo systemctl restart sshd
  • 再次登录必须指定ssh连接的端口ssh user@ip_address_of_server -p 2522

为什么更改默认的SSH端口?

保护SSH服务器最基本的技巧之一就是更改默认的SSH端口号22。

为什么?由于许多bot脚本都会在默认端口22上进行蛮力攻击,因此大多数此类脚本并不总是扫描开放端口,它们会将默认端口用于SSH等各种已知服务。

现在您知道了为什么要更改默认的SSH端口,让我们看看如何做。

通过更改防火墙设置允许新端口上的流量

如果您设置了防火墙或自定义ipconfig或ifconfig,或者使用的是selinux,则在进行更改之前必须允许新的ssh端口。否则,您可能无法使用SSH访问而被锁定。

现在,这部分取决于您使用的是哪种防火墙或路由。

如果使用UFW,则可以使用以下命令允许端口2522:

sudo ufw allow 2522/tcp

如果使用的是iptables,则应使用以下命令:

sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2522 -j ACCEPT

在Fedora,CentOSRed Hat上,防火墙由firewalld管理,您可以使用以下命令:

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

在CentOS和Red Hat上,您可能还需要更改SELinux规则:

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

现在您已经设置了正确的防火墙设置,让我们继续更改SSH端口。

SSH更改默认端口

通常,ssh配置文件位于/etc/ssh/sshd_config。您必须使用基于终端的编辑器(例如Vim或Nano或Emacs)来编辑文件。

像Ubuntu这样的发行版默认安装了Nano,因此您可以使用它在编辑模式下打开文件,如下所示:

sudo nano /etc/ssh/sshd_config

如您所见,您必须是sudo用户或root用户才能编辑ssh配置。

向下滚动一点,您将看到带有的线Port 22。如果以开头#,则表示该行已被注释掉。带注释的行为您提供默认设置。

因此,如果看到# Port 22,则表示默认端口为22。

如何[正确,安全地]在Linux中更改SSH默认端口

用您选择的端口号更改此行。在Linux中,端口号0-1023通常保留用于各种服务。最好避免使用0到1023之间的任何值,以免发生冲突。

您可以使用1024到65535之间的任何其他端口号。在示例中,我使用的是2522。确保删除#端口行之前的。

如何[正确,安全地]在Linux中更改SSH默认端口

保存更改并退出编辑器。如果您使用的是Nano,请使用Ctrl + X保存并退出。

下一步是重新启动ssh服务。大多数现代系统使用systemd服务,因此您可以使用以下命令:

sudo systemctl restart sshd

现在,如果要访问SSH服务器,则必须指定端口号:

ssh user@ip_address_of_server -p 2522

以上就是关于如何[正确,安全地]在Linux中SSH更改默认端口的全部内容

评论

登录后评论

服务器优惠活动

Top