如何将SSH默认端口更改为自定义端口

时间:2020-03-21 11:44:09  来源:igfitidea点击:

在我们之前的部分中,我们看到如何将Apache和FTP默认端口更改为我们选择的自定义端口。
这是本系列的第三个和最后一部分。
在本教程中,我们将讨论如何将SSH默认端口更改为任何随机端口。

将SSH默认端口更改为自定义端口

更改SSH默认端口非常简单,所有现代Linux操作系统都几乎相同。

要更改SSH默认端口,编辑/etc/ssh/sshd_config文件,

$sudo vi /etc/ssh/sshd_config

如我们所知,SSH默认端口为22.因此,我们将将其更改为任何随机数,例如2022.

为此,请编辑或者添加以下行:

Port 2022

保存并关闭文件。
重新启动SSH服务。

$sudo systemctl restart sshd

或者

$sudo service sshd restart

在Rhel/CentOS系统中,调整SELinux和防火墙设置以允许新端口。

$sudo semanage port -a -t ssh_port_t -p tcp 2022

如果找不到SemaNage命令,请安装以下包:

$sudo yum install policycoreutils-python

在Rhel 7/CentOS 7:

$sudo firewall-cmd --permanent --add-port=2022/tcp
$sudo firewall-cmd --reload

在RHEL 6/CentOS 6:

$sudo vi /etc/sysconfig/iptables

注释出默认端口22行:

# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

并添加新的自定义端口线:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2022 -j ACCEPT

保存并关闭文件。

重新启动iptables以生效更改。

$sudo service iptables restart

最后,重新启动SSH服务:

$sudo service sshd restart

使用命令验证端口设置:

$sudo netstat -tulpn | grep :2022

示例输出:

tcp        0      0 0.0.0.0:2022            0.0.0.0:*               LISTEN      18680/sshd          
tcp6       0      0 :::2022                 :::*                    LISTEN      18680/sshd

现在,尝试使用如下所示的端口号的任何客户端系统SSH。

$ssh -p 2022 Hyman@theitroad

示例输出:

Hyman@theitroad's password: 
Last login: Wed Jan 20 15:45:16 2015
[Hyman@theitroad ~]$