如何将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 ~]$