[Security] 如何更改 SSH 預設 port 22

前言

有在用 Linux 作業系統或是擁有自己的 Linux VPS 的使用者都知道,當要管理自己的設備時,我們需要透過 SSH 協定來連進去動作。

SSH 協定預設所用的 Port 為 22,對的,很方便,對有些研究的都知道是 port 22,相信點進這篇文章的讀者也是有研究的,就跟 web service 是 port 80 一樣,大家也都知道。於是就有人會以此為樂,不管是有意或是無意的,寫隻腳本或是程式開始掃瞄全世界的 IP 位址或是某網段 (不過他們可能不敢直接掃描 NASA 的網段,這我們之後會再發篇文章討論 XD)

你可能心裡會說,Jed 這有很嚴重嗎?

有,很嚴重啊,等於跟全世界的人說,管理入口就在這裡,就一層薄薄的門,趕快來踹門吧 XD

一般來說,我們的 SSH 入口,基本盤就是一組密碼,其他什麼都沒有,(進階一點的我們之後會再詳談),有什麼基本的方法,可以守住那些腳本小子呢?

那就換掉預設 SSH Port 22 吧!

首先連進你的 Linux,這裡我們假設大家都已經會使用 SSH 協定了!因為是一般使用者或是沒有管理權限,可能無法進行以下的步驟。

1 ) 用自己喜歡的編輯器修改 sshd_config 裡的 Port 22 這行,可以是 vi、vim、nano、甚至你的 Linux 有 GUI (圖形化介面) 也可以用 gedit,而且必須為 root,或是有 sudo 的權限才能改這個檔案,改成你想要的 port number,這裡以改成 9487 為示範,但不能與常見的 port 一樣,避免衝突 (例如 21 [FTP]、80 [web]、443 [ssl] 等,範圍是 1 ~ 65535,建議 number 1000 以上是最保險的)

$ sudo vim /etc/ssh/sshd_config

2) 修改完後,存檔離開,並下以下指令讓剛剛更改的設定值能生效

$ sudo service ssh restart

3) 完成!! 用新的 Port 重新登入試試看吧!