Linux服务器如何修改远程端口ssh端口?

2024-08-05 14:13:39

  在Linux服务器上更改SSH端口是增强安全性的一种常见做法,可以帮助避免默认22端口被扫描和攻击。下面是一些关于修改SSH端口的步骤:


  1. 修改SSH配置文件


  打开SSH配置文件,使用文本编辑器(如vi或nano)编辑SSH配置文件/etc/ssh/sshd_config:


Linux服务器如何修改远程端口ssh端口?


  sudo vi /etc/ssh/sshd_config


  找到Port行并修改,(如果没有,添加一行):


  #Port 22


  修改为你想使用的新端口号,例如2222:


  Port 2222


  确保删除行首的#以取消注释此行。


  保存并退出编辑器,在vi中,可以按 Esc 键,然后输入:wq保存并退出。


  2. 更新防火墙设置,修改服务器的防火墙规则,允许新的SSH端口号通过。


  使用UFW


  如果你的系统使用的是ufw(Uncomplicated Firewall):


  添加新端口


  sudo ufw allow 2222/tcp


  删除旧端口(可选)


  sudo ufw delete allow 22/tcp


  重启UFW


  sudo ufw reload


  使用iptables


  如果你的系统使用的是iptables:


  添加新规则


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


  保存iptables规则


  不同的Linux发行版可能使用不同的命令来保存iptables规则:


  # 对于基于Debian的系统


  sudo sh -c "iptables-save > /etc/iptables/rules.v4"


  # 对于基于RedHat的系统


  sudo service iptables save


  删除旧规则(可选)


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


  3. 重启SSH服务,更改配置文件后,必须重启SSH服务以应用更改。


  在某些系统中,服务名称可能是ssh而不是sshd:


  sudo service ssh restart


  4. 测试新的SSH端口


  使用新端口进行SSH连接测试:


  ssh -p 2222 username@your_server_ip


  5. 更新SELinux配置(可选)


  如果系统启用了SELinux,可能需要更新SELinux策略以允许SSH使用新端口:


  sudo semanage port -a -t ssh_port_t -p tcp 2222


  如果semanage命令不可用,可以通过以下命令安装相关工具:


  sudo yum install policycoreutils-python-utils # 对于CentOS/RHEL


  sudo apt install policycoreutils-python-utils # 对于Debian/Ubuntu


  注意事项


  选择非标准端口:选择一个不常用的端口(如1024到65535之间的端口),以降低被攻击的风险。


  避免常见端口:不要选择像80、443等常见端口,以免与其他服务发生冲突。


  保持会话:在测试新端口之前,不要关闭现有的SSH会话,以防止无法连接的情况。


  备份配置文件:在修改之前备份原始sshd_config文件,以便在出错时恢复。


  检查开放端口:使用netstat或ss命令确认新端口是否处于监听状态:


  sudo netstat -tuln | grep 2222


  或者:


  sudo ss -tuln | grep 2222


  请注意,无论哪种 Linux 发行版,修改 SSH 端口后需要确保防火墙已经配置允许 SSH 连接到新端口,如果是云服务器, 还需要注意 是否从安全组放行端口。通过以上步骤,你应该能够成功地在Linux服务器上修改SSH远程连接的端口。




本文地址:https://www.htstack.com/news/12080.shtml

特别声明:以上内容均为 衡天云(HengTian Network Technology Co.,Limited) 版权所有,未经本网授权不得转载、摘编或利用其它方式使用上述作品。




请选择发起聊天的方式: