Linux 修改默认的22端口(SSH端口)

鸿辰 Linux 3.57 K
  • 说明

    通过ssh客户端登陆服务器时,都是默认通过22端口进行登陆的,之前由于服务器也是使用的默认端口,被恶意尝试通过22端口登陆过,为减少安全隐患,就对默认的端口进行了调整。

  • 修改默认端口方法

    • 修改/etc/ssh/sshd_config文件中的端口

      vim /etc/ssh/sshd_config

      在文件中,搜索Port 之后,可以看到如下图所示内容
      Linux 修改默认的22端口(SSH端口)-第1张图片-鸿辰个人分享站
      取消被注释的Port 22这一行,将22改成自己想要设置的端口

    • 修改etc/selinux/config 文件,关闭SELINUX
      Linux 修改默认的22端口(SSH端口)-第2张图片-鸿辰个人分享站
      将上图红框所示改成disabled

    • 检测防火墙
      需要在防火墙中添加新的端口,否则可能导致重启之后无法连接到服务器
      以下示例中以22端口为例,使用时改成上方设置的端口

      • iptables放行端口

        # 检查是否放行
        sudo iptables -L INPUT -n --line-numbers | grep 22
        
        # 临时放行(重启失效)
        sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        
        # 永久保存(重启之后依然生效)
        sudo service iptables save
        
      • firewalld放行端口

        # 检查是否放行
        # 查看当前开放端口
        sudo firewall-cmd --list-ports
        # 查看永久配置
        sudo firewall-cmd --list-ports --permanent
        
        # 临时放行(重启失效)
        sudo firewall-cmd --add-port=22/tcp
        
        # 永久放行(重启之后依然生效)
        sudo firewall-cmd --permanent --add-port=10022/tcp
        
        # 重载防火墙配置
        sudo firewall-cmd --reload
  • 重启SSH

systemctl restart sshd

重启之后,即可使用新端口重新登录服务器。

注意:如果修改之后,无法通过新端口连接,也已经确认防火墙关闭或防火墙已经开放端口,可检查服务器供应商是否存在端口配置,如阿里云的服务器,需要在安全组中开放新的端口!

标签: ssh linux