当前位置 主页 > 技术大全 >

    linux系统,linux系统远程访问端口修改方法

    栏目:技术大全 时间:2024-12-16 17:09



    在Linux系统中修改远程访问端口(如SSH端口)涉及一系列关键步骤,以下是详细的方法:
     
    一、前期准备
     
    1.备份SSH配置文件:
        备份当前SSH配置文件以防万一出现问题时可以恢复。
        使用命令:`sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak`
     
    2.检查新端口是否被占用:
       使用`netstat`或`ss`命令检查新端口是否已被其他服务占用。
        例如:`sudo netstat tuln | grep <新端口号>`或 `sudo ss tuln | grep <新端口号>`
     
    二、修改SSH配置文件
     
    1.打开SSH配置文件:
        使用文本编辑器(如vim、nano)打开SSH的主配置文件`sshd_config`。
        例如:`sudo nano /etc/ssh/sshd_config`或 `sudo vim /etc/ssh/sshd_config`
     
    2.找到并修改Port行:
        在配置文件中找到`#Port 22`这一行(有些版本中可能是`Port 22`且没有注释符号`#`)。
        将其修改为新的端口号,并去掉注释符号(如果有的话)。
        例如:将端口号更改为2222,则修改为`Port 2222`
     
    3.保存并关闭文件:
        在nano编辑器中,按`Ctrl+O`保存文件,然后按`Ctrl+X`退出编辑器。
        在vim编辑器中,按`Esc`键,然后输入`:wq`保存并退出。
     
    三、重启SSH服务
     
     修改配置文件后,需要重启SSH服务以使更改生效。
     使用命令:`sudo systemctl restartsshd`或 `sudo service ssh restart`
     
    四、更新防火墙规则
     
     如果服务器上运行着防火墙(如iptables、ufw、firewalld),则需要更新防火墙规则以允许新的SSH端口。
     
      对于iptables:
    ```bash
        sudo iptables A INPUT p tcp dport <新端口号> j ACCEPT
        sudo service iptables save
        sudo service iptables restart
    ```
     
      对于ufw:
    ```bash
        sudo ufw allow <新端口号>/tcp
        sudo ufw reload
    ```
     
      对于firewalld:
    ```bash
        sudo firewallcmd zone=public addport=<新端口号>/tcp permanent
        sudo firewallcmd reload
    ```
     
    五、测试新的SSH端口
     
     使用SSH客户端(如PuTTY或命令行SSH)从另一台计算机尝试通过新端口连接到服务器。
     例如:`ssh p <新端口号> username@server_ip`
     例如:`ssh p 2222 username@192.168.1.100`
     
    六、后续步骤
     
    1.删除旧的Port 22配置(可选):
        如果确认新端口工作正常,可以回到`sshd_config`文件中删除或注释掉`Port 22`这一行。
        再次重启SSH服务:`sudo systemctl restart sshd`
     
    2.更新所有相关的访问配置:
        如果您在多个地方(如自动化脚本、配置文件、文档等)使用了旧的SSH端口号,请确保更新这些配置以反映新的端口号。
     
    3.监控和日志记录:
        建议启用SSH日志记录功能,并定期检查日志文件以监控任何可疑的登录尝试。
     
    通过遵循这些步骤,您可以成功修改Linux服务器的远程访问端口,增加一层额外的安全保护,减少被恶意攻击者利用默认端口进行攻击的风险。