云网牛站
所在位置:首页 > Linux安全 > 更改Linux系统中的默认SSH端口及配置防火墙以允许访问新的SSH端口

更改Linux系统中的默认SSH端口及配置防火墙以允许访问新的SSH端口

2020-02-20 10:29:59作者:项中强稿源:云网牛站

默认情况下,SSH绑定在22端口上,更改默认SSH端口可为Linux系统增加一层安全保护。本文说明了如何在Linux操作系统中更改默认的SSH端口,以下是可行的方法,此外,我们还将向您展示如何配置防火墙以允许访问新的SSH端口。它可以免受不必要的攻击,尤其是僵尸程序和端口扫描攻击。

更改Linux系统中的默认SSH端口及配置防火墙以允许访问新的SSH端口

 

如何在Linux中更改默认的SSH端口

在Linux操作系统中更改SSH端口并不困难,可以通过在目标文件中进行更改,我建议用户在配置文件中进行任何更改时要格外小心,最好在进行任何更改之前,请先复制配置文件:

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bk

为此,请运行以下命令:

# sed -i 's/#Port 22/Port 2200/g' /etc/ssh/sshd_config

我们可以通过运行以下命令来检查更改:

# grep -w Port /etc/ssh/sshd_config

Port 2200

注:还可以自定义Port 2200。

参考:使用SELinux强制更改CentOS、RHEL 7/8、Fedora上的SSH端口

 

如何调整防火墙以允许新配置的端口使用SSH

退出会话之前,请不要忘记对防火墙进行更改,如果没有,您将无法重新登录。这意味着,您必须允许防火墙中的新端口用于ssh访问。

UFW是基于Ubuntu的系统的默认防火墙,要调整UFW防火墙,请运行以下命令:

$ sudo ufw allow 2200/tcp

FirewallD是RHEL7/8和CentOS 7系统的默认防火墙工具,默认情况下处于启用状态,因此,我们需要通过运行以下命令进行必要的更改:

$ sudo firewall-cmd --permanent --zone=public --add-port=2200/tcp

$ sudo firewall-cmd --reload

另外,我们需要调整SELinux规则以允许新的SSH端口:

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

进行记录,您必须根据iptables行号在拒绝行之前插入“INPUT”规则:

# iptables -nvL --line-n

更改Linux系统中的默认SSH端口及配置防火墙以允许访问新的SSH端口

就我而言,“reject”输入规则位于第五行,因此我将在第五行添加一个新规则。

对于RHEL 6/CentOS 6系统,运行以下命令来调整iptables规则:

$ sudo iptables -I INPUT 5 -p tcp --dport 2200 -m state --state NEW,ESTABLISHED -j ACCEPT

$ sudo iptables -A OUTPUT -p tcp --sport 2200 -m state --state ESTABLISHED -j ACCEPT

$ sudo service iptables save

完成上述所有更改后,就该重新启动ssh服务了。

对于SysVinit系统,运行:

$ sudo service sshd restart

对于基于RHEL的systemd系统,运行:

$ sudo systemctl restart sshd

对于基于Debian的systemd系统,运行:

$ sudo systemctl restart ssh

现在,检查SSH守护进程是否正在侦听新的2200端口:

$ sudo netstat -tplugn | grep ssh

更改Linux系统中的默认SSH端口及配置防火墙以允许访问新的SSH端口

注:如上图所示,已达成目标。

最后,尝试使用标准端口和新的SSH端口访问远程Linux系统,并查看两者之间的区别。

使用标准SSH端口时提示错误:

$ ssh 192.168.1.4 -l ywnz

ssh: connect to host 192.168.1.4 port 22: Connection refused

但同时,它允许我使用新的SSH端口登录:

$ sh 192.168.1.4 -l ywnz -p 2200

Password: 

Last login: Wed Feb 19 23:39:36 2020 from 192.168.1.6

Have a lot of fun...

注:以上表明用原先的22端口已提示错误,需要新的SSH端口2200才能正常连接上。

 

相关主题

在Fedora Linux上使用SSH本地端口转发及远程端口转发的方法

精选文章
热门文章