Ubuntu22.04 安裝 優化 root登錄SSH

總結摘要
詳細介紹Ubuntu 22.04的安裝與優化配置,包含root登錄設定、SSH權限配置、vim安裝、時區調整和防火牆管理等完整操作步驟。

前言

Ubuntu 22.04 LTS(Jammy Jellyfish)是Ubuntu的長期支援版本,提供了穩定的伺服器環境和豐富的功能。本文將詳細介紹Ubuntu 22.04的安裝過程以及針對伺服器環境的優化配置,特別是啟用root用戶SSH登錄的完整設定流程。

下載Ubuntu 22.04

官方下載連結

伺服器版本:

1
https://ubuntu.com/download/server

直接ISO下載:

1
https://releases.ubuntu.com/22.04.3/ubuntu-22.04.3-live-server-amd64.iso

建議下載伺服器版本,因為它專為伺服器環境優化,佔用資源較少且更加穩定。

root登錄及改密碼

Ubuntu 22.04預設情況下不允許root用戶直接登錄,需要先切換到root用戶並設定密碼。

步驟1:切換到root用戶

1
sudo -i

步驟2:設定root密碼

1
passwd root

系統會提示輸入新密碼,請輸入兩次確認。建議使用強密碼以確保系統安全。

安裝vim

vim是功能強大的文字編輯器,對於系統管理非常重要。

步驟1:更新套件列表

1
apt update

步驟2:安裝vim

1
apt install vim

安裝完成後,可以使用vim編輯各種配置檔案。

修改root登錄SSH權限

預設情況下,Ubuntu 22.04不允許root用戶透過SSH登錄,需要修改SSH配置。

步驟1:編輯SSH配置檔案

1
vim /etc/ssh/sshd_config

步驟2:修改PermitRootLogin設定

在配置檔案中找到 PermitRootLogin 這行,修改它的值為 yes

1
PermitRootLogin yes

如果該行被註解(前面有#),請移除#符號。

步驟3:重啟SSH服務

1
systemctl restart ssh

重啟後,root用戶就可以透過SSH登錄了。

調整時區

將系統時區設定為台北時間,確保時間顯示正確。

1
sudo timedatectl set-timezone Asia/Taipei

可以使用以下命令驗證時區設定:

1
timedatectl

防火牆管理

Ubuntu 22.04預設安裝了UFW(Uncomplicated Firewall)防火牆。

查看防火牆狀態:

1
sudo ufw status

關閉防火牆:

1
sudo ufw disable

⚠️ 安全提醒:在生產環境中,建議根據實際需求配置防火牆規則,而不是完全關閉防火牆。

完整操作流程

推薦操作順序

  1. 安裝Ubuntu 22.04系統
  2. 設定root密碼sudo -ipasswd root
  3. 安裝必要工具apt updateapt install vim
  4. 配置SSH:編輯 /etc/ssh/sshd_config → 重啟SSH服務
  5. 調整時區sudo timedatectl set-timezone Asia/Taipei
  6. 配置防火牆:根據需求開啟或關閉

一鍵配置腳本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

echo "=== Ubuntu 22.04 優化配置腳本 ==="
echo "開始執行時間:$(date)"
echo ""

# 切換到root並設定密碼
echo "請設定root密碼:"
sudo passwd root

# 更新系統並安裝vim
echo "更新套件列表並安裝vim..."
sudo apt update
sudo apt install vim -y

# 備份SSH配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

# 啟用root SSH登錄
echo "配置SSH允許root登錄..."
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# 重啟SSH服務
sudo systemctl restart ssh

# 設定時區
echo "設定時區為Asia/Taipei..."
sudo timedatectl set-timezone Asia/Taipei

echo ""
echo "=== 配置完成 ==="
echo "完成時間:$(date)"
echo "請使用root用戶測試SSH登錄"

注意事項

安全性考量

  • 強密碼:root密碼應該使用複雜的組合,包含大小寫字母、數字和特殊字符
  • SSH金鑰:建議使用SSH金鑰認證替代密碼認證
  • 防火牆:在生產環境中應該適當配置防火牆規則
  • 定期更新:保持系統和軟體套件的及時更新

網路環境

  • 確保網路連接穩定,特別是在進行系統更新時
  • 如果在企業環境中,可能需要配置代理伺服器
  • 考慮設定靜態IP位址以便於管理

備份重要

  • 在修改系統配置前,建議備份重要的配置檔案
  • 定期備份重要資料和配置
  • 測試備份的可用性

故障排除

常見問題1:SSH連接被拒絕

錯誤訊息:

1
ssh: connect to host [IP] port 22: Connection refused

解決方案:

  1. 檢查SSH服務狀態:systemctl status ssh
  2. 重啟SSH服務:systemctl restart ssh
  3. 檢查防火牆設定:ufw status

常見問題2:root登錄失敗

錯誤訊息:

1
Permission denied (publickey,password)

解決方案:

  1. 確認已設定root密碼:passwd root
  2. 檢查SSH配置:grep PermitRootLogin /etc/ssh/sshd_config
  3. 重啟SSH服務:systemctl restart ssh

常見問題3:時區設定無效

解決方案:

  1. 檢查可用時區:timedatectl list-timezones | grep Asia
  2. 重新設定時區:sudo timedatectl set-timezone Asia/Taipei
  3. 驗證設定:timedatectl

常見問題4:套件安裝失敗

解決方案:

  1. 更新套件列表:apt update
  2. 修復損壞的套件:apt --fix-broken install
  3. 清理套件快取:apt clean

進階配置

SSH安全強化

1
2
3
4
5
6
7
8
# 修改SSH預設埠號
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config

# 禁用密碼認證(使用金鑰認證)
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

# 限制登錄嘗試次數
echo "MaxAuthTries 3" | sudo tee -a /etc/ssh/sshd_config

系統監控設定

1
2
3
4
5
6
# 安裝系統監控工具
sudo apt install htop iotop nethogs -y

# 設定系統資源監控
sudo apt install sysstat -y
sudo systemctl enable sysstat

總結

Ubuntu 22.04的安裝和優化配置涉及多個重要步驟,從基本的root用戶設定到SSH服務配置,每一步都關係到系統的安全性和可用性。透過本文的詳細指導,您可以快速完成Ubuntu 22.04伺服器的基礎配置,為後續的應用部署打下堅實的基礎。

記住,在生產環境中部署時,安全性應該是首要考慮因素。建議根據實際需求調整配置參數,並定期進行安全性檢查和系統更新。

關鍵要點:

  • 設定強密碼並啟用root登錄
  • 正確配置SSH服務以確保遠端存取
  • 適當管理防火牆規則
  • 保持系統和軟體的及時更新
  • 定期備份重要配置和資料