一、什麼是SSH
Secure Shell(SSH)是一種用於以安全方式訪問遠程計算機的協議。它可用於執行遠程命令或在兩個計算機之間傳輸文件,同時保證數據的機密性和完整性。
SSH客戶端將數據加密並傳輸到SSH伺服器上,這是網路上最常用的身份驗證和安全協議之一。
在CentOS 7系統中,SSH安全套接字協議已經預安裝並默認啟用。這使得在CentOS 7上配置SSH簡單而容易。
二、為什麼需要配置SSH
儘管CentOS 7默認啟用SSH,但為了使遠程連接更加安全和高效,我們仍然需要對SSH做一些配置。在下面的小節中,我們將分別介紹以下內容。
三、SSH配置步驟
1.更改SSH埠
默認情況下,SSH使用埠22,這是黑客們最常攻擊的埠之一。因此,為了增加系統的安全性,我們需要將SSH埠更改為其他埠。我們可以通過以下命令來更改SSH埠。
sudo vi /etc/ssh/sshd_config
在文件的開頭添加以下行:
Port 22222
請替換22222為您想要使用的埠號。
然後,我們需要重啟SSH服務,以使更改生效。
sudo systemctl restart sshd
現在,我們可以使用新埠號(22222)連接到SSH伺服器了。例如:
ssh username@192.168.0.1 -p 22222
2.使用SSH密鑰對進行身份驗證
除了使用密碼外,我們還可以使用SSH密鑰對進行身份驗證。此方法更加安全,因為它不需要我們將密碼暴露在網路中。我們可以使用以下命令生成密鑰對:
ssh-keygen
接下來,我們需要將公鑰複製到伺服器上的~/.ssh/authorized_keys文件中。
ssh-copy-id username@192.168.0.1
接下來,我們可以使用ssh命令連接到伺服器而無需使用密碼。
ssh username@192.168.0.1
3.禁止SSH的root用戶登錄
在默認情況下,root用戶可以通過SSH進行遠程登錄,並且黑客經常試圖通過root用戶訪問系統。因此,我們建議禁止使用root用戶登錄SSH。
我們需要在/etc/ssh/sshd_config文件中查找以下行:
#PermitRootLogin yes
並將其更改為:
PermitRootLogin no
然後,需要重啟SSH服務,以使更改生效。
sudo systemctl restart sshd
4.配置SSH偽裝
SSH偽裝將SSH帶到了下一級,使得遠程連接更加安全,因為黑客無法輕易確定您的伺服器上運行的是SSH。您可以使用以下命令來安裝SSH偽裝:
sudo apt-get install stunnel4
然後,我們需要編輯/etc/stunnel/stunnel.conf文件並添加以下配置:
[ssh]
accept = 443
connect = 127.0.0.1:22
接下來,我們需要重新啟動stunnel服務。
sudo systemctl restart stunnel
現在,您可以使用HTTPS協議作為SSH協議連接到您的伺服器了。例如:
ssh -p 443 username@192.168.0.1
五、總結
SSH提供了一種安全且高效的遠程連接方式。在CentOS 7中,默認的SSH設置是安全的,但我們仍然需要進行進一步的配置來增加系統的安全性。以上SSH配置步驟可以讓我們更好地保護系統資源並避免黑客攻擊。
原創文章,作者:RCBTG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370644.html