在Ubuntu上的SSH設定與安全性強化方法|從初學者到中階使用者的完整指南

Ubuntu的SSH設定與安全性強化指南

1. 什麼是SSH?在Ubuntu上的使用方法

SSH(Secure Shell)是一種安全的通訊協議,用於遠端連線並管理伺服器。特別是在像Ubuntu這樣的Linux系統中,SSH是非常重要的命令列管理工具。透過SSH,與伺服器之間的通訊會被加密,防止第三方的未授權存取和竊聽。

相關連結: 什麼是SSH?官方Ubuntu文件

2. 如何在Ubuntu上安裝SSH

以下介紹如何在Ubuntu上安裝SSH伺服器。

  1. 更新套件清單
   sudo apt update
  1. 安裝OpenSSH伺服器
   sudo apt install openssh-server
  1. 啟動服務並確認狀態
   sudo systemctl status ssh

補充: 官方Ubuntu網站也提供了OpenSSH詳細資訊

3. 確認SSH服務狀態並設置開機自動啟動

確認SSH服務是否正常運作,並設定在系統啟動時自動啟動。

  1. 檢查服務狀態
   sudo systemctl status ssh
  1. 設定SSH自動啟動
   sudo systemctl enable ssh

4. 在防火牆設定中允許SSH連線

使用Ubuntu預設的UFW(簡易防火牆)來允許SSH連線。

  1. 在防火牆中允許SSH連線
   sudo ufw allow ssh
  1. 確認UFW狀態
   sudo ufw status

5. 如何連線到Ubuntu的SSH伺服器

要從遠端連線到SSH,請按照以下步驟進行。

  1. 檢查IP地址
   ip a
  1. 使用SSH連線
   ssh username@ip_address

首次連線時,如果出現警告訊息,請輸入「yes」,然後輸入密碼繼續。

提示: Windows使用者可以下載PuTTY軟體來連線到SSH。

年収訴求

6. SSH的進階設定(更改連接埠、停用Root登入)

透過更改SSH的預設設定來提高安全性。

  1. 更改預設連接埠
    將預設的22連接埠改為其他數字,以降低暴力攻擊風險。
   sudo nano /etc/ssh/sshd_config
   #Port 22 → 更改為其他號碼
  1. 停用Root使用者登入
    為了加強安全性,停用Root使用者直接登入。
   PermitRootLogin no

更改設定後,請重新啟動SSH服務。

sudo systemctl restart ssh
年収訴求

7. SSH伺服器安全性強化(最佳實踐)

介紹提高SSH安全性的最佳做法。

  1. 使用SSH金鑰認證
    將密碼驗證改為公鑰認證,以增強安全性。
    請參考SSH金鑰設定指南來建立金鑰配對。
  2. 限制特定使用者存取
    透過AllowUsers設定,僅允許指定使用者連線到SSH。
  3. 使用Fail2Ban防止暴力攻擊
    安裝Fail2Ban,自動封鎖多次登入失敗的IP地址。
   sudo apt install fail2ban

有關Fail2Ban的詳細設定資訊,請參考官方Fail2Ban設定指南

年収訴求

8. SSH連線的常見問題與故障排除

如果在SSH連線時遇到問題,可以參考以下檢查清單解決。

  • 防火牆設定錯誤:檢查UFW或其他防火牆是否已正確設置。
  • 檢查IP地址:確認使用的IP地址是否正確。
  • SSH設定檔錯誤:檢查/etc/ssh/sshd_config是否存在錯誤,並在必要時重新啟動服務。

總結

本指南介紹了如何在Ubuntu上安裝並安全地設定SSH。我們還介紹了提高安全性的最佳實踐,以確保伺服器管理的安全與效率。如需更詳細的資訊,請參閱官方Ubuntu SSH設定指南