Centos7增加或修改SSH端口号的方法
前言:开启某服务的端口,要从该服务监听的端口(多以修改配置文件为主),Selinux和防火墙(FireWall)的安全策略下手。如果使用阿里云、腾讯、华为、aws亚马逊等第三方服务器的话,还需要对管理控制的安全组下手。
下面进入配置正题:
1、修改SSH配置文件
首先切换为root用户
vim /etc/ssh/sshd_config
找到“#Port 22”这行,直接复制该行到下一行,然后把“#”号注释去掉即可,修改为一个随机端口:
SSH默认监听端口是22,如果不自定义别的端口,”Port 22”注不注释都是开放22访问端口。上面我没动22端口,防止之后因为各种权限和配置问题,导致22端口不能访问那就尴尬了。等一切都配置好,再关闭22端口即可。
补充:
关于ssh其他配置:
PasswordAuthentication no 禁止使用基于密码认证的方式登录
PubkeyAuthentication yes 允许使用基于秘钥认证的方式登录
2、如果关闭了Selinux,忽略第二步。
查看一下SeLinux开放给ssh使用的端口:
semanage port -l|grep ssh
默认开放22,现在我们添加我们定义的随机端口:
semanage port -a -t ssh_port_t -p tcp 63852
完成再次查看:
3、如果关闭防火墙,忽略第三步。(建议开启防火墙,不然很危险)
查看防火墙是否开启了63852端口:
firewall-cmd --permanent --query-port=63852/tcp
打印“no”,说明没有开放63852端口,下面添加此端口:
firewall-cmd --permanent --add-port=63852/tcp重新加载防火墙策略,查看63852端口是否已经开启:
看到“yes”,表明63852端口已经开启成功。
4、重启SSH服务,使其配置生效。
systemctl restart sshd
5、尝试通过63852端口登录服务器。
如果登录成功,说明63852端口已经完全可以使用了,SeLinux和防火墙(Firewalld)关闭22端口就OK了,至此大工告成!
6、如果不是第三方服务器,忽略此步。
第三方服务器去相对应的服务器安全组开放端口,下面附上aws亚马逊的示例图: