無法通過ssh的22端口連接服務器,無法通過3306端口連接到mysql,排查了兩天錯誤,發現是校園網的問題,應該是限制了22端口和3306端口的出方向,改了這兩個的端口就可以訪問了。
修改mysql的默認端口:
環境:centos7/8,mysql5.7/8.0
- 添加新端口到mysql的配置文件:
vim /etc/my.cnf
- 加入端口(假設是3307)
port=3307
- 阿里雲安全組打開3307端口
- 服務器防火牆打開3307端口
firewall-cmd --add-port=3307/tcp --permanent
- 防火牆重新加載
firewall-cmd --reload
- 啟動mysql服務
service mysqld start
修改ssh的默認端口:
-
如果用本地的ssh連接工具連接不到遠程服務器,就使用阿里雲自己的workbench連接,如果workbench也不行,就用阿里雲的vnc連接。
-
運行以下命令備份sshd服務配置文件。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
-
修改sshd服務的端口號。
-
運行以下命令重啟sshd服務
systemctl restart sshd
-
防火牆放行1022端口
firewall-cmd --add-port=1022/tcp --permanent
- 防火牆重啟
firewall-cmd --reload
- 安全組放行
第一次通過22
端口連不上服務器,誤打誤撞通過修改端口
解決了。
然后又連不到服務器的mysql,自己從頭到尾排查信息,一開始以為是端口和防火牆
問題,改過來改過去,不奏效,后來以為是mysql
自己的問題,在用戶權限
里改過來改過去,不奏效,后來以為是mysql版本
問題,改過來改過去不奏效,后來以為是服務器
的問題,在虛擬機上裝了一個centos,安裝mysql,改了改,不奏效,再后來,懷疑是navicat
自己的問題,就找了個本地的springboot項目,把url改成了服務器的地址,發現還是不奏效,再后來,索性不用3306
端口了,通過ssh
先連接到服務器,再連接服務器本地的3306端口,奏效了。
然后又買了一台服務器,新服務器還是無法通過22
端口連接到,排查問題,發現別人(不是同一個網絡下的)可以通過22端口連接到我的服務器,我就不行,然后排查了自己本地的防火牆
,端口
等問題,不奏效,然后讓室友試了一下,發現他也不能連接,我才發現原來是校園網
的問題,初步判定是校園網限制了對外網某些端口的訪問,比如22
,3306
,因為80
端口和8080
端口,我部署好服務器上的tomcat
和nginx
之后是可以訪問這兩個端口的。
找到原因之后,就把之前通過ssh
連接的mysql
的端口改成了3307
,然后直接連接,發現成功。
哎,搞了兩天,百度和谷歌都查完了,都沒有解決我的問題,看來排查問題,有的時候不要太深,可以更廣,其實中間測試過網絡,當時是通過服務器和本地網絡互相ping,但是本地網絡是內網,不是公網ip,自然ping不通,就放過了本地網絡的問題,看來還是網絡方面的基礎知識太薄弱。