Hetzner Cloud VPS SSH 連線與系統規格檢查完整教學

學會用 SSH 金鑰連線 Hetzner VPS、排除常見連線失敗原因、建立 SSH 別名與非 root 使用者,並用 lscpu、free、lsblk、df 快速驗證主機資源配置。

Hetzner Cloud VPS 完整上手指南:SSH 連線與系統規格檢查

建立 Hetzner Cloud VPS 後,第一步是透過 SSH 連線,第二步是確認實際分配的硬體資源是否符合訂購方案。本文整理官方建議與實務指令,涵蓋免密碼登入、疑難排解、安全強化與規格驗證。


1. SSH 免密碼連線

1.1 預設登入資訊

  • 使用者root(官方預設)
  • 認證方式:建立 Server 時已上傳的 SSH Public Key,對應本機 Private Key 即可登入,無需密碼。
  • 官方範例ssh root@<server-ip>

1.2 直接連線步驟

  1. 進入 Hetzner Cloud Console → Server 詳情頁,複製 Public IPv4
  2. 本機 Terminal 執行:
    ssh root@你的VPS公網IPv4
    
    例:ssh [email protected]
  3. 首次連線會出現主機指紋確認,輸入 yes 繼續。

1.3 指定非預設 Private Key

若 Private Key 不在預設位置(~/.ssh/id_ed25519~/.ssh/id_rsa),使用 -i 參數:

ssh -i ~/.ssh/你的私鑰檔案 root@你的VPS公網IPv4

例:ssh -i ~/.ssh/hetzner_ed25519 [email protected]

關鍵提醒:上傳到 Hetzner 的是 Public Key(副檔名 .pub,如 id_ed25519.pub),連線時使用的是同名但無 .pub 的 Private Keyid_ed25519)。切勿將 .pub 檔作為 -i 參數。


2. 常見連線失敗排查

若無法連線,先用詳細模式觀察 SSH 嘗試的金鑰:

ssh -vvv -i ~/.ssh/id_ed25519 root@你的VPS公網IPv4
常見原因 解決方式
Server 尚未開機完成 等待 1–2 分鐘後再試
上傳的 Public Key 與本機 Private Key 不配對 確認 ~/.ssh/id_ed25519.pub 內容與 Console 設定一致
Private Key 權限過寬 chmod 600 ~/.ssh/id_ed25519 (macOS/Linux)
防火牆封鎖 TCP 22 Hetzner Cloud Firewall 或本機防火牆需允許 22 埠;新建 Server 預設通常開放

3. 建立 SSH 別名(建議)

編輯 ~/.ssh/config,簡化後續連線指令:

Host hetzner
  HostName 95.217.123.45
  User root
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

之後只需執行:

ssh hetzner

Hetzner 官方文件同樣建議透過 ~/.ssh/config 管理 HostNameUser 與 Public-key 認證。


4. 首次登入後的安全強化(必要)

root 登入後,立即建立一般使用者並授予 sudo,日常操作避免直接使用 root:

adduser yourname
usermod -aG sudo yourname
# 將本機 Public Key 複製到新使用者
mkdir -p /home/yourname/.ssh
cp ~/.ssh/authorized_keys /home/yourname/.ssh/
chown -R yourname:yourname /home/yourname/.ssh
chmod 700 /home/yourname/.ssh
chmod 600 /home/yourname/.ssh/authorized_keys

後續請改用 ssh yourname@<ip> 並透過 sudo 執行權限指令。


5. 系統規格快速驗證指令

登入後依序執行下列指令,即可確認 vCPU、記憶體、磁碟配置是否符合方案:

lscpu          # CPU 架構、vCPU 數、核心/執行緒
free -h        # RAM 與 Swap 總量、已用、可用(available 最能反映實際可用記憶體)
lsblk          # 磁碟、分割區、掛載點與大小
df -h          # 各檔案系統已用與剩餘容量

5.1 關鍵欄位說明

項目 指令 重點欄位
CPU lscpu CPU(s) = 分配的 vCPU 數;ArchitectureModel name
記憶體 free -h Mem: total/availableavailable 包含可回收 cache,比 free 更準確
磁碟裝置 lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS 確認總磁碟大小與分割區結構
磁碟空間 df -hT 根目錄 / 剩餘可用空間

5.2 一次輸出完整規格(可直接貼上執行)

echo "=== OS ==="
hostnamectl

echo
echo "=== CPU ==="
lscpu | egrep 'Architecture|CPU\(s\)|Model name'

echo
echo "=== Memory ==="
free -h

echo
echo "=== Disk devices ==="
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS

echo
echo "=== Disk usage ==="
df -hT

注意:VPS 環境下 dmidecodelshw 顯示的製造商、記憶體插槽等資訊為虛擬化層模擬,不代表實體主機規格;驗證 Hetzner 實際分配資源請以 lscpufree -hlsblk 為準。


6. 即時資源監控(選用)

top          # 內建,按 q 離開
# 或安裝更直覺的 htop
sudo apt update && sudo apt install -y htop
htop

結語

完成 SSH 免密碼登入、建立非 root 使用者、驗證硬體規格三大步驟,Hetzner Cloud VPS 即可進入正式部署階段。建議將 ~/.ssh/config 別名與上方規格檢查腳本納入個人運維筆記,未來新增節點可直接複用。