修改ssh连接端口和mysql的连接端口

无法通过ssh的22端口连接服务器,无法通过3306端口连接到mysql,排查了两天错误,发现是校园网的问题,应该是限制了22端口和3306端口的出方向,改了这两个的端口就可以访问了。

修改mysql的默认端口:

环境:centos7/8,mysql5.7/8.0

  1. 添加新端口到mysql的配置文件:
vim  /etc/my.cnf
  1. 加入端口(假设是3307)
port=3307
  1. 阿里云安全组打开3307端口
  2. 服务器防火墙打开3307端口
firewall-cmd --add-port=3307/tcp --permanent
  1. 防火墙重新加载
firewall-cmd --reload
  1. 启动mysql服务
service mysqld start

修改ssh的默认端口:

  1. 如果用本地的ssh连接工具连接不到远程服务器,就使用阿里云自己的workbench连接,如果workbench也不行,就用阿里云的vnc连接。

  2. 运行以下命令备份sshd服务配置文件。

    cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
    
  3. 修改sshd服务的端口号。

    1. 运行以下命令编辑sshd_config配置文件。

      vim /etc/ssh/sshd_config
      
    2. 在键盘上按i键,进入编辑状态。

    3. 添加新的远程服务端口。

      本节以1022端口为例。在Port 22下输入Port 1022新增端口

    4. 在键盘上按Esc键,输入:wq后保存并退出编辑状态。

  4. 运行以下命令重启sshd服务

    systemctl restart sshd
    
  5. 防火墙放行1022端口

    firewall-cmd --add-port=1022/tcp --permanent
  1. 防火墙重启
firewall-cmd --reload
  1. 安全组放行

第一次通过22端口连不上服务器,误打误撞通过修改端口解决了。

然后又连不到服务器的mysql,自己从头到尾排查信息,一开始以为是端口和防火墙问题,改过来改过去,不奏效,后来以为是mysql自己的问题,在用户权限里改过来改过去,不奏效,后来以为是mysql版本问题,改过来改过去不奏效,后来以为是服务器的问题,在虚拟机上装了一个centos,安装mysql,改了改,不奏效,再后来,怀疑是navicat自己的问题,就找了个本地的springboot项目,把url改成了服务器的地址,发现还是不奏效,再后来,索性不用3306端口了,通过ssh先连接到服务器,再连接服务器本地的3306端口,奏效了。

然后又买了一台服务器,新服务器还是无法通过22端口连接到,排查问题,发现别人(不是同一个网络下的)可以通过22端口连接到我的服务器,我就不行,然后排查了自己本地的防火墙端口等问题,不奏效,然后让室友试了一下,发现他也不能连接,我才发现原来是校园网的问题,初步判定是校园网限制了对外网某些端口的访问,比如223306,因为80端口和8080端口,我部署好服务器上的tomcatnginx之后是可以访问这两个端口的。

找到原因之后,就把之前通过ssh连接的mysql的端口改成了3307,然后直接连接,发现成功。

哎,搞了两天,百度和谷歌都查完了,都没有解决我的问题,看来排查问题,有的时候不要太深,可以更广,其实中间测试过网络,当时是通过服务器和本地网络互相ping,但是本地网络是内网,不是公网ip,自然ping不通,就放过了本地网络的问题,看来还是网络方面的基础知识太薄弱。

posted @ 2020-11-01 14:34  xsyz  阅读(1079)  评论(0编辑  收藏  举报