🔧 SSH 全機群配置 v2 · 修復版

本機 SSH 全通 · 2026-07-22 08:30
⚡ 修復摘要 v2
hermes-103: SSH config 加 RequestTTY force,互動式 session 可手動指定 PowerShell
NAS: SSH config 全局加 LogLevel ERROR,減少警告刷屏
Windows 機: 預設 ConnectTimeout 5,離線機不再卡住測試
🆕 新增 enable_openssh_windows.ps1 一鍵啟用本機 OpenSSH Server
hp-desktop: 本機 OpenSSH Server 已啟用(填了 administrators_authorized_keys 權限坑)
🖥️ 主機清單 11 個 Host
nas 100.94.36.80 TSDebiantrim-4c5a · DERP/exit · OpenClaw
nas-lan 192.168.5.15 LANtrim-4c5a 區域網
oracle 161.33.154.235 公網OLinstance-20260706-1453 · Tokyo
oracle-ts 100.73.148.96 TS同上
aws 100.101.218.17 TSUbuntuip-172-31-14-236
hermes-103 100.64.224.103 TSWin✅ SSHdesktop-nmo2h2i · ⚠ cmd.exe
hp-desktop 100.90.232.62 TSWin✅ SSHHP-Desktop · OpenSSH 已啟用
desktop-anfkf7q 100.103.141.100 TSWin❌ SSH離線 / SSH 未啟用
laptop-p1l722a4 100.100.12.100 TSWin❌ SSHoffline 8d
sandbox-wb 100.70.153.18 TSLinux❌ SSHoffline 4d
🔧 修復 1: hermes-103 cmd.exe 問題
問題: Windows OpenSSH Server 預設 shell = cmd.exe,不認 bash 命令 (如 uptime)
影響: 從 NAS 跑 ssh hermes-103 'uptime' 會報錯
已修: SSH config 加 RequestTTY force,互動式 session 正常
建議: 跑 shell 命令時用 powershell -NoProfile -Command 包起來
# 互動式連線
ssh -F /vol1/1000/OpenClaw_use/ssh/config hermes-103

# 跑命令(用 PowerShell)
ssh -F /vol1/1000/OpenClaw_use/ssh/config hermes-103 'powershell -NoProfile -Command "whoami; hostname; (Get-Date)"'
🔧 修復 2: hp-desktop 本機 SSH 啟用 ✅
已完成: 本機 OpenSSH Server 已啟用 (Running / Automatic),Port 22 監聽中
: User 屬於 Administrators 群組,Windows OpenSSH 強制只用 administrators_authorized_keys,普通 .ssh/authorized_keys 被忽略 → 已填對位置
powershell -ExecutionPolicy Bypass -File enable_openssh_windows.ps1
📋 腳本會自動:
  ① 安裝 OpenSSH.Server 功能
  ② 設定 DefaultShell = PowerShell (避免 cmd.exe 報錯)
  ③ 啟動 sshd + 自動啟動
  ④ 新增防火牆規則 port 22
  ⑤ 寫入 nas-automation 公鑰到 administrators_authorized_keys (Administrators 群組必須)
🔧 修復 3: 離線 / 未配置 Windows 機
desktop-anfkf7q (100.103.141.100): 連線超時,機器離線或 SSH 未啟用
laptop-p1l722a4 (100.100.12.100): offline 8 天
sandbox-workbuddy (100.70.153.18): offline 4 天
已加: 這些 host 加 ConnectTimeout 5,測試不再卡 30s
恢復後: 需在該機執行 enable_openssh_windows.ps1
📋 SSH Config (v2) 全文
# 全局設定 (v2 新增 LogLevel ERROR)
Host *
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
    ServerAliveInterval 30
    ServerAliveCountMax 3
    LogLevel ERROR

# Linux 主機
Host nas trim-4c5a
    HostName 100.94.36.80
    User CaseyFung
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas

Host oracle
    HostName 161.33.154.235
    User opc
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/Casey.pem

Host aws
    HostName 100.101.218.17
    User ubuntu
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/Casey.pem

# Windows 主機 (v2 加 RequestTTY force)
Host hermes-103 desktop-nmo2h2i
    HostName 100.64.224.103
    User User
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas
    RequestTTY force
    ConnectTimeout 5

Host hp-desktop
    HostName 100.90.232.62
    User User
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas
    RequestTTY force
    ConnectTimeout 5

Host desktop-anfkf7q
    HostName 100.103.141.100
    User User
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas
    RequestTTY force
    ConnectTimeout 5

Host laptop-p1l722a4
    HostName 100.100.12.100
    User User
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas
    RequestTTY force
    ConnectTimeout 5

Host sandbox-workbuddy
    HostName 100.70.153.18
    User root
    IdentityFile /vol1/1000/OpenClaw_use/ssh/keys/id_ed25519_nas
    ConnectTimeout 5
🧪 修復後測試結果 2026-07-22 08:30
nas: 連線正常,hostname = trim-4c5a
oracle: 連線正常,hostname = instance-20260706-1453
aws: 連線正常,hostname = ip-172-31-14-236
🟡 hermes-103: 連線正常,shell 命令改用 PowerShell 即可
hp-desktop: 連線正常,hostname = HP-Desktop,whoami = hp-desktop\user
desktop-anfkf7q / laptop / sandbox: 機器離線,待恢復後配置