5

Linux SSH 端口修改

 1 year ago
source link: https://www.myfreax.com/how-to-change-ssh-port-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ssh

Linux SSH 端口修改

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

Updated At 26 Sep 2022 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-command-in-linux.webp

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK