一、SSH是什麼?
在了解如何開啟SSH之前,我們需要了解一下SSH是什麼。SSH(Secure Shell)是一種保證網路通訊安全的協議。常用於遠程登錄Linux系統,並且擁有加密傳輸的功能。開啟SSH服務後,可以使用SSH客戶端進行連接,遠程管理Linux系統。
二、安裝OpenSSH
在大多數Linux發行版中,OpenSSH都是默認安裝好的。如果你的系統沒有安裝,你可以通過以下命令進行安裝:
sudo apt-get install openssh-server # Ubuntu/Debian yum install openssh-server # CentOS/RHEL
安裝完成後,通過以下命令啟動SSH服務:
sudo systemctl start sshd # Ubuntu/Debian/CentOS/RHEL
如果你希望開機自動啟動SSH服務,可以使用以下命令:
sudo systemctl enable sshd # Ubuntu/Debian/CentOS/RHEL
三、配置SSH服務
1. 修改SSH埠號
默認情況下,SSH服務監聽22埠。由於22埠是網路攻擊者的常用目標,而且很容易受到暴力破解等攻擊,因此我們可以將SSH服務埠修改為其他埠。例如修改為2222埠:
sudo sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config # Ubuntu/Debian/CentOS/RHEL sudo systemctl restart sshd
這裡我們使用sed命令對SSH配置文件進行修改。其中「s/」表示替換的命令,「#Port 22」表示需要替換的內容,後面的「Port 2222」表示替換後的內容,「/g」表示全局查找替換。修改完成後,需要重啟SSH服務,使修改生效。
2. 禁止root用戶登錄
由於root用戶許可權過大,容易受到惡意攻擊。因此,我們建議禁止root用戶登錄SSH。可以通過以下命令進行設置:
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config # Ubuntu/Debian/CentOS/RHEL sudo systemctl restart sshd
其中,「PermitRootLogin yes」表示允許root用戶登錄,我們需要將其修改為「PermitRootLogin no」,表示禁止root用戶登錄。
3. 使用公鑰認證
公鑰認證是一種更加安全的SSH登錄方式,可以代替傳統的用戶名和密碼驗證。下面介紹如何使用公鑰認證。
1)生成公私鑰對
首先,在本地計算機上生成公私鑰對。可以使用以下命令:
ssh-keygen -t rsa -b 4096
其中,「-t rsa」表示使用RSA加密演算法,「-b 4096」表示生成的密鑰長度為4096位。根據提示輸入文件名和密碼即可。
2)複製公鑰到伺服器
生成公私鑰對後,需要將公鑰複製到伺服器上。可以使用以下命令:
ssh-copy-id user@server-ip
其中,「user」是你在伺服器上的用戶名,「server-ip」則是伺服器的IP地址。首次連接伺服器時,會提示你輸入伺服器的密碼。
3)使用公鑰登錄
將公鑰複製到伺服器後,下次登錄SSH時,可以使用以下命令代替傳統的用戶名和密碼登錄:
ssh -i ~/.ssh/id_rsa user@server-ip
其中,「~/.ssh/id_rsa」表示你的私鑰文件路徑,需要根據實際情況修改。這樣,就可以使用公鑰認證登錄SSH了。
四、防火牆配置
如果你的伺服器有防火牆,還需要配置防火牆的規則,允許SSH服務通過。例如,CentOS/RHEL系統中可以使用以下命令添加防火牆規則:
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent # 將2222改為你實際使用的SSH埠號 sudo firewall-cmd --reload
其中,「–add-port=2222/tcp」表示添加SSH埠號為2222的規則。需要根據你實際使用的埠號進行修改。
五、總結
通過以上步驟,我們已經成功開啟了SSH登錄,並且進行了一些基本的安全配置。在實際生產環境中,還需要根據具體的安全需求進行更加嚴格的安全配置,以保障系統安全。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259175.html