學會用 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 直接連線步驟
- 進入 Hetzner Cloud Console → Server 詳情頁,複製 Public IPv4。
- 本機 Terminal 執行:
例:ssh root@你的VPS公網IPv4ssh [email protected] - 首次連線會出現主機指紋確認,輸入
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 Key(id_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 管理 HostName、User 與 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 數;Architecture、Model name |
| 記憶體 | free -h |
Mem: total/available;available 包含可回收 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 環境下
dmidecode、lshw顯示的製造商、記憶體插槽等資訊為虛擬化層模擬,不代表實體主機規格;驗證 Hetzner 實際分配資源請以lscpu、free -h、lsblk為準。
6. 即時資源監控(選用)
top # 內建,按 q 離開
# 或安裝更直覺的 htop
sudo apt update && sudo apt install -y htop
htop
結語
完成 SSH 免密碼登入、建立非 root 使用者、驗證硬體規格三大步驟,Hetzner Cloud VPS 即可進入正式部署階段。建議將 ~/.ssh/config 別名與上方規格檢查腳本納入個人運維筆記,未來新增節點可直接複用。