Linux 修改預設SSH埠 22,避免被暴力破解密碼

宵雲wangluo發表於2018-12-09

為了伺服器安全,推薦:非22埠+Key密匙登陸+Key密匙密碼,這樣搭配最安全。

為了保險起見,我們先新增一個SSH埠並新增對應的防火牆規則,然後用這個新的埠連線伺服器試試,如果沒問題了,我們再刪除預設的22埠(之所以這這麼做,就是因為如果直接修改埠,可能在出現一些問題後會導致你無法連線SSH,那就慘了)。

新增SSH埠

vi /etc/ssh/sshd_config# vi開啟檔案後,按 I鍵 進入編輯模式,然後按下面的要求新增埠配置,最後按 ESC鍵 退出編輯模式並輸入 :wq 儲存並退出vi編輯器。

我們在預設的SSH埠配置下面新增一個我們要用的新的埠,例如 23456

Port 22# 預設的22埠配置,注意現在不刪除這個預設的 22埠配置,避免修改後無法連結SSHPort 23456# 新新增的 23456埠配置

然後我們重啟SSH。

/etc/init.d/ssh restart# 如果提示服務不存在,那就用 /etc/init.d/sshd restart# CentOS7 則用 systemctl restart sshd.service

配置防火牆

首先我們新增防火牆規則(示例埠為 23456,自己改):

iptables -I INPUT -p tcp --dport 23456 -j ACCEPT

然後不清楚你們是否配置了防火牆開機啟動和開機啟動讀取防火牆配置檔案,所以我這裡也寫上步驟,建議你們都做一下,避免重啟VPS後,SSH埠防火牆沒有開放導致無法連線伺服器。

配置防火牆開機啟動

下面的程式碼是配置防火牆開機啟動並且儲存防火牆規則,開機啟動後會自動讀取儲存的防火牆規則。

CentOS 系統:

注意:如果是 CentOS7 系統,那麼就不是iptables 防火牆了。

service iptables savechkconfig --level 2345 iptables on

以後需要儲存防火牆規則只需要執行:

service iptables save

Debian/Ubuntu 系統:

iptables-save > /etc/iptables.up.rulesecho -e '#!/bin/bash\n/sbin/iptables-restore < /etc/iptables.up.rules' > /etc/network/if-pre-up.d/iptableschmod +x /etc/network/if-pre-up.d/iptables

以後需要儲存防火牆規則只需要執行:

iptables-save > /etc/iptables.up.rules

測試一下

上面步驟做完了,那麼請斷開當前的SSH連線,然後把SSH埠改為新的埠(示例埠為 23456),連結新埠試試,如果連線正常,那麼繼續下面的步驟,如果連線不正常,那麼使用舊埠 22 連線上面去排除問題。

取消預設SSH埠 22

vi /etc/ssh/sshd_config

我們再開啟SSH配置檔案,刪除 Port 22 這一行,然後重啟SSH即可。

/etc/init.d/ssh restart# 如果提示服務不存在,那就用 /etc/init.d/sshd restart# CentOS7 則用 systemctl restart sshd.service

宵雲網路科技       webtfyum.net


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31554777/viewspace-2284627/,如需轉載,請註明出處,否則將追究法律責任。

相關文章