系统要求
Debian 6+ / Ubuntu 14.04 +
因为 CentOS 7 有些不一样,我对 CentOS 系统也不了解,所以为了不出问题就不支持 CentOS系统了。
脚本版本
Ver: 1.0.0
安装步骤
执行下面的代码下载并运行脚本。
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssh_port.sh && chmod +x ssh_port.sh && bash ssh_port.sh
运行脚本后会出现如下内容,按提示修改即可。
# 以下仅为示例
旧SSH端口:[22]
请输入新的SSH端口 [1-65535]
(输入为空则取消):8888
=============================
新端口 : 8888
=============================
请选择SSH端口修改方式:
1. 直接修改(直接修改旧端口为新端口,并且防火墙禁止旧端口 开放新端口)
2. 保守修改(不删除旧端口,先添加新端口,然后手动断开SSH链接并使用新端口尝试链接,如果链接正常,那么再次执行脚本删除旧端口配置)
一般来说修改SSH端口不会出现什么问题,但保守起见,我做了两个修改方式。
如果不懂请选 [2. 保守修改],避免因为未知问题而导致修改后无法通过 新端口和旧端口 链接服务器!
(默认: 2. 保守修改):
————————————————————
# 选择 1. 直接修改 时,提示如下:
[信息] 删除旧端口配置...
[信息] 添加新端口配置...
[ ok ] Restarting OpenBSD Secure Shell server: sshd.
[信息] SSH 端口修改成功!新端口:[22]
————————————————————
# 选择 2. 保守修改 时,提示如下:
[信息] 添加新端口配置...
[ ok ] Restarting OpenBSD Secure Shell server: sshd.
[信息] SSH 端口添加成功 !
请手动断开 SSH链接并使用新端口 [8888] 尝试链接,如无法链接 请通过旧端口 [22] 链接,如链接正常 请链接后再次执行脚本 [bash /root/ssh_port.sh end] 以删除旧端口配置!
### 然后使用新端口链接SSH后运行命令[bash /root/ssh_port.sh end] ###
[信息] 删除旧端口配置...
[ ok ] Restarting OpenBSD Secure Shell server: sshd.
[信息] 所有配置完成!新端口:[8888]
————————————————————
使用说明
进入下载脚本的目录并运行脚本:
./ssh_port.sh
./ssh_port.sh end
# 这个命令仅限使用 2.保守修改 方式并通过 新SSH端口 链接后才能用!
其他操作
当操作过程中出现任何错误,都可以恢复SSH配置备份文件(具体命令 脚本会提示):/etc/ssh/sshd_config.bak
其他说明
当修改SSH端口后,脚本会自动配置防火墙,禁止旧端口,允许新端口。
当服务器存在外部防火墙时(如 阿里云、腾讯云、微软云、谷歌云、亚马逊云等),需要外部防火墙开放 新SSH端口TCP协议方可连接!
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/resolv.conf
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
# CentOS系统:
yum install -y wget
# Debian/Ubuntu系统:
apt-get install -y wget
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END