# Hướng dẫn mở SSH trên VPS (1 lần duy nhất) ## Cách dễ nhất — copy script vào RDP 1. **RDP vào VPS:** - Windows + R → `mstsc` - Computer: `103.124.94.58:3389` - User: `Administrator` - Password: (dùng password đã cung cấp) 2. **Mở PowerShell AS ADMINISTRATOR:** - Start → gõ "PowerShell" → right-click → **Run as Administrator** 3. **Copy-paste toàn bộ file `scripts/deployment/00-enable-ssh-server.ps1`** vào PowerShell → Enter. 4. **Đợi ~1 phút**, khi thấy `DONE — SSH server ready` là xong. 5. **Báo lại cho dev**, dev sẽ test connection: ```bash ssh -i ~/.ssh/dyd_vps Administrator@103.124.94.58 hostname ``` ## Nếu copy-paste qua RDP clipboard không được **Option A — Upload file qua RDP mapped drive:** 1. Trong mstsc → More → Local Resources → Drives → check `D:\` (hoặc drive chứa repo) 2. Sau khi RDP, mở File Explorer → `\\tsclient\D\...\scripts\deployment\00-enable-ssh-server.ps1` 3. Right-click file → Run with PowerShell (As Admin) **Option B — Tải từ Gitea/GitHub (sau khi push):** ```powershell Invoke-WebRequest -Uri '/scripts/deployment/00-enable-ssh-server.ps1' -OutFile C:\Temp\00-enable-ssh.ps1 powershell -ExecutionPolicy Bypass -File C:\Temp\00-enable-ssh.ps1 ``` ## Script làm gì? 1. Install OpenSSH Server capability (Windows feature) 2. Start `sshd` service + set auto-start 3. Open firewall port 22 4. Set default SSH shell = PowerShell (chứ không phải cmd) 5. Add public key `dyd-vps-deploy-20260415` vào `administrators_authorized_keys` 6. Fix file permission (chỉ Admin + SYSTEM được đọc) **Idempotent** — chạy nhiều lần OK, không side effect. ## Security - Public key đã embed trong script - Private key nằm trên máy dev (`~/.ssh/dyd_vps`) — KHÔNG rời máy - Nếu mất private key → chạy lại script sau khi đổi `$PublicKey` với key mới - Disable SSH sau khi xong deploy: `Stop-Service sshd; Set-Service sshd -StartupType Disabled`