开发者

Linux系统修改ssh远程端口的方法步骤

开发者 https://www.devze.com 2025-09-29 09:57 出处:网络 作者: 网硕互联的小客服
目录1. 修改 SSH 远程端口的步骤1.1 登录服务器1.2 修改 SSH 配置文件1.3 修改防火墙规则1.3.1 使用 firewalld(Centos/RedHat 系统)1.3.2 使用 iptables(传统防火墙)1.3.3 使用 ufw(Ubuntu/Debian 系统)1.4 重
目录
  • 1. 修改 SSH 远程端口的步骤
    • 1.1 登录服务器
    • 1.2 修改 SSH 配置文件
    • 1.3 修改防火墙规则
      • 1.3.1 使用 firewalld(Centos/RedHat 系统)
      • 1.3.2 使用 iptables(传统防火墙)
      • 1.3.3 使用 ufw(Ubuntu/Debian 系统)
    • 1.4 重启 SSH 服务
      • 1.5 测试新的端口
      • 2. 常见问题和解决方法
        • 2.1 修改后无法连接
          • 2.2 忘记新端口号
          • 3. 安全性优化建议
            • 3.1 禁用密码登录,启用密钥登录
              • 3.2 限制登录 IP
                • 3.3 启用 Fail2ban
                • 4. 总结

                  1. 修改 SSH 远程端口的步骤

                  1.1 登录服务器

                  使用当前的 SSH javascript端口登录服务器(默认端口为 22):

                  ssh root@<服务器IP地址> -p 22 

                  如果是非 root 用户,请使用具有 sudo 权限的账户登录。

                  1.2 修改 SSH 配置文件

                  使用文本编辑器打开 sshd_config 文件:

                  sudo nano /etc/ssh/sshd_config 

                  或者:

                  sudo vi /etc/ssh/sshd_config 

                  找到以下行(如果没有,则手动添加):

                  #Port 22 
                  • 去掉 # 注释符号。
                  • 将端口号 22 修改为你想要的端口号(例如 20222222),如下:
                  Port 2022 

                  确保以下设置已启用并检查是否存在(防止配置冲突):

                  AddressFamily inet
                  PermitRootLogin yes   # 如果允许 root 登录,确保此项为 yes

                  1.3 修改防火墙规则

                  更改端口后,需要确保防火墙允许新端口的通信,否则可能导致无法连接。

                  1.3.1 使用 firewalld(CentOS/RedHat 系统)

                  添加新端口规则(以 2022 为例):

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

                  移除默认端口(22)规则(如果不再需要):

                  sudo firewall-cmd --permanent --remove-port=22/tcp 

                  重新加载防火墙规则:

                  sudo firewall-cmd --reload 

                  1.3.2 使用 iptables(传统防火墙)

                  添加新端口规则:

                  sudo iptables -A INPUT -p tcp --dport 2022 -j ACCEPT 

                  移除默认端口规则(如果不再需要):

                  sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT 

                  保存规则(确保重启后规则仍生效):

                  sudo iptables-save > /etc/iptables/rules.v4 

                  1.3.3 使用 ufw(Ubuntu/Debian 系统)

                  允许新端口:

                  sudo ufw allow 2022/tcp 

                  删除默认端口(如果不再需要):

                  sudo ufw delete allow 22/tcp 

                  检查并启用防火墙:

                  sudo ufw ejavascriptnable 

                  1.4 重启 SSH 服务

                  修改完成后,重启 SSH 服务以应用更改:

                  sudo systemctl restart sshd 

                  或:

                  sudo service sshd restart 

                  如果使用 Ubuntu/Debian,服务名可能是 ssh

                  sudo systemctl restart ssh 

                  1.5 测试新的端口

                  打开新的 SSH 会话,测试是否能通过新端口连接:

                  ssh root@<服务器IP地址> -p 2022 

                  注意:在测试新端口成功前,不要关闭当前的 SSH 会话,以免配置错误导致无法连接。

                  如果测试成功,可以关闭旧的端口会话。

                  2. 常见问题和解决方法

                  2.1 修改后无法连接

                  检查防火墙是否开放了新端口

                  使用以下命令检查防火墙规则:

                  sudo firewall-cmd --list-ports       # 适用于 firewalld
                  sudo ufw status   bUGwZ                   # 适用于 ufw

                  检查 SSH 服务状态

                  确保 SSH 服务已启动且无错误:

                  sudo systemctl status sshd 

                  检查端口占用情况

                  确保新端口未被其他服务占用:

                  sudo netstat -tuln | grep 2022 

                  2.2 忘记新端口号

                  • 如果忘记了新端口号,可以通过以下方法查看:
                    1. 登录服务器的控制台(通过云服务商提供的 Web 控制台)。
                    2. 查看 SSH 配置文件:
                  cat /etc/ssh/sshd_config | grep Port 

                  3. 安全性优化建议

                  除了修改默认 SSH 端口,还可以采取以下措施增强 SSH 安全性:

                  3.1 禁用密码登录,启用密钥登录

                  生成 SSH 密钥对(如果尚未生成):

                  ssh-keygen -t rsa -b 4096 

                  将公钥上传到服务器:

                  ssh-copy-id -i ~/.ssh/id_rsa.pub root@<服务器IP> 

                  修改 SSH 配置文件,禁用密码登录:

                  sudo nano /etc/ssh/sshd_config 

                  找到并修改以下项:

                  PasswordAuthentication no 

                  重启 SSH 服务:

                  sudo systemctl restart sshd 

                  3.2 限制登录 IP

                  修改防火墙规则,只允许特定 IP 地址访问 SSH:

                  使用 firewalld

                  sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='<你的IP>' port port=2022 protocol=tcp accept"
                  

                  替换 <你的IP> 为你的公网 IP 地址。

                  重载防火墙:

                  sudo firewall-cmd --reload 

                  或编辑 /etc/hosts.allow 文件:

                  sshd: <你的IP> 

                  3.3 启用 Fail2ban

                  安装并配置 Fail2ban,自动封禁多次尝试登录失败的 IP:

                  sudo yum install epel-release -y
                  sudo yum install fail2ban -y

                  启动并配置:

                  sudo systemctl start fail2ban
                  sudo systemctl enable fail2ban

                  4. 总结

                  修改 SSH 端口是提升android服务器安全性的有效措施,但需要注意以下几点:

                  1. 修改端口后,确保防火墙规则已更新,并测试新端口连接。
                  2. 配合其他安全措施(如密钥登录、IP 限制、Faiwww.devze.coml2ban)进一步提升安全性。
                  3. 在修改前备份 SSH 配置文件,避免因配置错误导致服务器无法访问:
                  sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 

                  通过以上步骤,你可以安全地修改 SSH 端口并保护服务器免受暴力 破解的威胁!

                  到此这篇关于linux系统修改ssh远程端口的方法步骤的文章就介绍到这了,更多相关Linux修改ssh远程端口内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

                  0

                  精彩评论

                  暂无评论...
                  验证码 换一张
                  取 消

                  关注公众号