1、如果服务器已经开启SELinux服务,修改或增加SSH端口前需要彻底关闭SELinux服务。
关闭SELinux服务方法参考这篇文章: Centos7.6如何关闭和开启SELinux工作模式
2、如果服务器已经开启firewalld防火墙,修改或增加SSH端口前需要先把端口添加到防火墙放行端口列表。
firewalld防火墙添加放行端口方法参考这篇文章: 简单使用Centos7.6防火墙firewalld方法
例如:SSH新增端口8836,将该端口添加到防火墙放行列表,可以分别执行以下两条命令。
firewall-cmd --zone=public --add-port=8836/tcp --permanent
firewall-cmd --reload
查看防火墙已经开放端口命令:
firewall-cmd --list-all
从返回结果可以判断出8836端口已经成功添加到防火墙列表。
3、把新增端口号写入到SSH配置文件中。
查看ssh默认端口号命令: netstat -ntlp
从返回结果可以看出SSH默认端口号22。
执行编辑 sshd_config 配置文件命令(注意:SSH配置文件是sshd_config,而不是ssh_config):
vi /etc/ssh/sshd_config
找到#Port 22,按 i键 进入编辑模式,将#号删除,换行输入新增端口号:Port 8836,修改完成后,按键盘 Esc键 ,输入 :wq ,然后 回车 ,保存并退出文件。
执行重启SSH服务: systemctl restart sshd
再次执行查看ssh端口命令:netstat -ntlp
从返回结果可以看出SSH端口号22和8836。
为了保证万无一失执行一次重启服务器命令:
shutdown -r now
如何删除默认SHH端口号22?编辑sshd_config配置文件,删除Port 22对应的行,然后保存,重启服务器。
备注:
如果执行查询端口命令:netstat -ntlp,提示:-bash: netstat: 未找到命令
需要安装网络工具,执行以下命令:
yum install net-tools