系统要求

Debian 6+ / Ubuntu 14.04 +

因为 CentOS 7 有些不一样,我对 CentOS 系统也不了解,所以为了不出问题就不支持 CentOS系统了。

安装步骤

执行下面的代码下载并运行脚本。

  1. wget ---no-check-certificate https://softs.fun/Bash/ssh_port.sh && chmod +x ssh_port.sh && bash ssh_port.sh
  2.  
  3. # 如果上面这个脚本无法下载,尝试使用备用下载:
  4. wget ---no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssh_port.sh && chmod +x ssh_port.sh && bash ssh_port.sh

运行脚本后会出现如下内容,按提示修改即可。

  1. # 以下仅为示例
  2.  
  3. SSH端口:[22]
  4. 请输入新的SSH端口 [165535]
  5. (输入为空则取消):8888
  6.  
  7. =============================
  8. 新端口 : 8888
  9. =============================
  10.  
  11. 请选择SSH端口修改方式:
  12. 1. 直接修改(直接修改旧端口为新端口,并且防火墙禁止旧端口 开放新端口)
  13. 2. 保守修改(不删除旧端口,先添加新端口,然后手动断开SSH链接并使用新端口尝试链接,如果链接正常,那么再次执行脚本删除旧端口配置)
  14. 一般来说修改SSH端口不会出现什么问题,但保守起见,我做了两个修改方式。
  15. 如果不懂请选 [2. 保守修改],避免因为未知问题而导致修改后无法通过 新端口和旧端口 链接服务器!
  16. (默认: 2. 保守修改):
  17. ————————————————————
  18. # 选择 1. 直接修改 时,提示如下:
  19.  
  20. [信息] 删除旧端口配置...
  21. [信息] 添加新端口配置...
  22. [ ok ] Restarting OpenBSD Secure Shell server: sshd.
  23. [信息] SSH 端口修改成功!新端口:[22]
  24. ————————————————————
  25. # 选择 2. 保守修改 时,提示如下:
  26.  
  27. [信息] 添加新端口配置...
  28. [ ok ] Restarting OpenBSD Secure Shell server: sshd.
  29. [信息] SSH 端口添加成功 !
  30. 请手动断开 SSH链接并使用新端口 [8888] 尝试链接,如无法链接 请通过旧端口 [22] 链接,如链接正常 请链接后再次执行脚本 [bash /root/ssh_port.sh end] 以删除旧端口配置!
  31.  
  32. ### 然后使用新端口链接SSH后运行命令[bash /root/ssh_port.sh end] ###
  33. [信息] 删除旧端口配置...
  34. [ ok ] Restarting OpenBSD Secure Shell server: sshd.
  35. [信息] 所有配置完成!新端口:[8888]
  36. ————————————————————

使用说明

进入下载脚本的目录并运行脚本:

  1. ./ssh_port.sh
  2.  
  3. ./ssh_port.sh end
  4. # 这个命令仅限使用 2.保守修改 方式并通过 新SSH端口 链接后才能用!

其他操作

当操作过程中出现任何错误,都可以恢复SSH配置备份文件(具体命令 脚本会提示):/etc/ssh/sshd_config.bak

其他说明

当修改SSH端口后,脚本会自动配置防火墙,禁止旧端口,允许新端口

当服务器存在外部防火墙时(如 阿里云、腾讯云、微软云、谷歌云、亚马逊云等),需要外部防火墙开放 新SSH端口TCP协议方可连接!


提示wget: unknown host “softs.fun” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

  1. echo “nameserver 8.8.8.8\nnameserver 8.8.4.4” > /etc/resolv.conf

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

  1. # CentOS系统:
  2. yum install -y wget
  3.  
  4. # Debian/Ubuntu系统:
  5. apt-get install -y wget

升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。