ssh

Linux SSH 端口修改

默认情况下,SSH监听端口22。更改默认SSH端口可降低自动攻击的风险,从而为服务器增加一层安全保护

4 min read
By myfreax
Linux SSH 端口修改

默认情况下,SSH监听端口22。更改默认SSH端口可降低自动攻击的风险,从而为服务器增加一层安全保护。

将防火墙配置为仅允许指定主机访问端口22,这样会比更改端口,更加简单和安全。

本教程介绍如何在Linux中更改默认的SSH端口。我们还将向您展示如何配置防火墙以允许访问新的SSH端口。

在Linux中,低于1024的端口号保留用于众所周知的服务,并且只能由root绑定。尽管您可以将1-1024范围内的端口用于SSH服务。

为了避免将来出现端口分配问题,但建议选择1024以上的端口。在此示例中,将SSH端口更改为5522,您可以选择任何喜欢的端口。

更改SSH端口之前,首先,您需要调整防火墙以允许SSH端口的连接。

如果你的使用的是Ubuntu的默认防火墙配置工具UFW。可运行命令sudo ufw allow 5522/tcp打开SSH端口5522。

如果在CentOS中,默认的防火墙管理工具是FirewallD。要打开新端口,请运行firewall-cmd命令。CentOS用户还需要调整SELinux规则以允许新的SSH端口。

如果你使用通用的iptables防火墙,这适用于所有Linux发行版,像Redhat,Fedora,Arch,Gentoo等。

可以运行命令sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT打开新的SSH端口。

sudo ufw allow 5522/tcp #For ubuntu

#for centos
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload
sudo semanage port -a -t ssh_port_t -p tcp 5522

配置SSH

使用你喜欢的文本编辑器打开文件/etc/ssh/sshd_config。在本教程中使用vim编辑器编辑SSH配置文件/etc/ssh/sshd_config

搜索以Port 22开头的行。在大多数情况下,该行以#开头。删除#,然后输入将要使用的SSH端口号,而不是标准SSH端口22。

修改SSH配置文件时要格外小心。错误的配置可能会导致SSH服务无法启动。完成后,保存文件并重新启动SSH服务以应用更改。

在大多数的Linux发行版中SSH服务作为Systemd的服务单元在后台运行,你可以运行命令sudo systemctl restart sshSSH服务。

在基于RedHat的Linux发行版,例如CentOS,Fedora。ssh服务被命名为sshd。则运行命令sudo systemctl restart sshd重启SSH服务。

最后要验证SSH服务是否在监听端口5522,我们将使用ss命令检查端口是否在监听

sudo vim /etc/ssh/sshd_config
Port 5522
/etc/ssh/sshd_config
sudo systemctl restart ssh #Debian Ubuntu
sudo systemctl restart sshd #CentOS

ss -an | grep 5522
tcp   LISTEN      0        128            0.0.0.0:5522           0.0.0.0:*
tcp   ESTAB       0        0      192.168.121.108:5522     192.168.121.1:57638
tcp   LISTEN      0        128               [::]:5522              [::]:*

连接SSH

SSH命令连接服务器 | myfreax
ssh客户端可用于创建到远程计算机(SSH服务器)安全连接。加密的连接可用于在服务器上执行命令,创建隧道,端口转发等

结论

在本教程中,您学习如何更改Linux SSH端口。您可能还需要设置基于SSH密钥的身份验证,然后不输入密码即可连接到Linux服务器。

如果您经常连接到多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。如果您有任何问题或反馈,请随时发表评论。