目次
Ubuntu的SSH設定與安全性強化指南
1. 什麼是SSH?在Ubuntu上的使用方法
SSH(Secure Shell)是一種安全的通訊協議,用於遠端連線並管理伺服器。特別是在像Ubuntu這樣的Linux系統中,SSH是非常重要的命令列管理工具。透過SSH,與伺服器之間的通訊會被加密,防止第三方的未授權存取和竊聽。
相關連結: 什麼是SSH?官方Ubuntu文件
2. 如何在Ubuntu上安裝SSH
以下介紹如何在Ubuntu上安裝SSH伺服器。
- 更新套件清單:
sudo apt update
- 安裝OpenSSH伺服器:
sudo apt install openssh-server
- 啟動服務並確認狀態:
sudo systemctl status ssh
補充: 官方Ubuntu網站也提供了OpenSSH詳細資訊。
3. 確認SSH服務狀態並設置開機自動啟動
確認SSH服務是否正常運作,並設定在系統啟動時自動啟動。
- 檢查服務狀態:
sudo systemctl status ssh
- 設定SSH自動啟動:
sudo systemctl enable ssh
4. 在防火牆設定中允許SSH連線
使用Ubuntu預設的UFW(簡易防火牆)來允許SSH連線。
- 在防火牆中允許SSH連線:
sudo ufw allow ssh
- 確認UFW狀態:
sudo ufw status
5. 如何連線到Ubuntu的SSH伺服器
要從遠端連線到SSH,請按照以下步驟進行。
- 檢查IP地址:
ip a
- 使用SSH連線:
ssh username@ip_address
首次連線時,如果出現警告訊息,請輸入「yes」,然後輸入密碼繼續。
提示: Windows使用者可以下載PuTTY軟體來連線到SSH。
6. SSH的進階設定(更改連接埠、停用Root登入)
透過更改SSH的預設設定來提高安全性。
- 更改預設連接埠:
將預設的22連接埠改為其他數字,以降低暴力攻擊風險。
sudo nano /etc/ssh/sshd_config
#Port 22 → 更改為其他號碼
- 停用Root使用者登入:
為了加強安全性,停用Root使用者直接登入。
PermitRootLogin no
更改設定後,請重新啟動SSH服務。
sudo systemctl restart ssh
7. SSH伺服器安全性強化(最佳實踐)
介紹提高SSH安全性的最佳做法。
- 使用SSH金鑰認證:
將密碼驗證改為公鑰認證,以增強安全性。
請參考SSH金鑰設定指南來建立金鑰配對。 - 限制特定使用者存取:
透過AllowUsers
設定,僅允許指定使用者連線到SSH。 - 使用Fail2Ban防止暴力攻擊:
安裝Fail2Ban,自動封鎖多次登入失敗的IP地址。
sudo apt install fail2ban
有關Fail2Ban的詳細設定資訊,請參考官方Fail2Ban設定指南。
8. SSH連線的常見問題與故障排除
如果在SSH連線時遇到問題,可以參考以下檢查清單解決。
- 防火牆設定錯誤:檢查UFW或其他防火牆是否已正確設置。
- 檢查IP地址:確認使用的IP地址是否正確。
- SSH設定檔錯誤:檢查
/etc/ssh/sshd_config
是否存在錯誤,並在必要時重新啟動服務。
總結
本指南介紹了如何在Ubuntu上安裝並安全地設定SSH。我們還介紹了提高安全性的最佳實踐,以確保伺服器管理的安全與效率。如需更詳細的資訊,請參閱官方Ubuntu SSH設定指南。