1. 程式人生 > 實用技巧 >修改ssh連線埠和mysql的連線埠

修改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埠連線到我的伺服器,我就不行,然後排查了自己本地的防火牆,埠等問題,不奏效,然後讓室友試了一下,發現他也不能連線,我才發現原來是校園網的問題,初步判定是校園網限制了對外網某些埠的訪問,比如22,3306,因為80埠和8080埠,我部署好伺服器上的tomcat和nginx之後是可以訪問這兩個埠的。

找到原因之後,就把之前通過ssh連線的mysql的埠改成了3307,然後直接連線,發現成功。

哎,搞了兩天,百度和谷歌都查完了,都沒有解決我的問題,看來排查問題,有的時候不要太深,可以更廣,其實中間測試過網路,當時是通過伺服器和本地網路互相ping,但是本地網路是內網,不是公網ip,自然ping不通,就放過了本地網路的問題,看來還是網路方面的基礎知識太薄弱。