Skip to content
⚡ Tenvo AI · TRỰC TIẾP · v0.16.26 · TLS · Chứng chỉ cho từng thiết bị · AGPL-3.0 · MIỄN PHÍ · 30 THIẾT BỊ · HẠ TẦNG TỰ LƯU TRỮ · BYO API KEY · MCP CHO CLAUDE & CURSOR
Quay lại BlogTutorial

thiết lập thiết bị tự động - không cần giám sát với một phê duyệt duy nhất

Tenvo Editorial Team8 phút đọc
thiết lập thiết bị tự động - không cần giám sát với một phê duyệt duy nhất

Bạn cần tự động cấp phát máy mới — ảnh hệ điều hành, gói phần mềm, một agent AI — nhưng chính sách (hoặc lẽ thường) yêu cầu đúng một người duy nhất phê duyệt trước khi agent được quyền điều khiển.

Bạn cần tự động cấp phát máy mới — ảnh hệ điều hành, gói phần mềm, một agent AI — nhưng chính sách (hoặc lẽ thường) yêu cầu đúng một người duy nhất phê duyệt trước khi agent được quyền điều khiển. Hướng dẫn này mô tả một luồng có thể lặp lại, có thể script hóa end-to-end và vận hành ở quy mô lớn.

Tại sao một cửa phê duyệt duy nhất quan trọng

Thiết lập thiết bị tự động nếu không có bất kỳ bước kiểm tra nào của con người tiết kiệm thời gian nhưng làm tăng rủi ro: kích hoạt agent vô tình, ảnh hệ điều hành bị xâm phạm, hoặc thông tin xác thực bị rò rỉ trong quá trình provision. Một phê duyệt đúng chỗ cân bằng tự động hóa và kiểm soát. Nó giữ cho phần lớn cài đặt không cần can thiệp thủ công trong khi đặt trách nhiệm vào một người duy nhất tại một điểm phá kính kiểm soát.

Thiết kế tổng quan: provision kèm một cửa phê duyệt

Mẫu này đơn giản và có thể lặp lại:

  • Chuẩn bị máy trước: ảnh hệ điều hành, mã hóa ổ đĩa, tài khoản cục bộ, cấu hình cơ bản.
  • Cài client remote-agent ở chế độ bị khóa hoặc khởi động ở trạng thái dừng (agent có mặt nhưng chưa thể chấp nhận điều khiển từ xa).
  • Phát một yêu cầu phê duyệt đã ký (metadata host, hash installer, build ID) tới người phê duyệt qua công cụ workflow của bạn (Slack, PagerDuty, hệ thống ticket).
  • Người phê duyệt xem xét metadata và nhấp một liên kết hoặc chạy một lệnh nhỏ đã ký để chuyển agent sang chế độ hoạt động đầy đủ.
  • Sau phê duyệt: agent đăng ký với relay, ghi nhật ký kiểm toán lưu sự phê duyệt, và các chính sách tiếp theo hoặc 2FA có thể được áp dụng cho các phiên trong tương lai.

Những thành phần bạn cần (cụ thể)

  • Một pipeline image/build phát ra build ID và SHA256 của installer (CI runner, Packer, v.v.).
  • Một gói client remote đã cài sẵn hỗ trợ chế độ bị khóa/khởi động dừng và một API kích hoạt nhỏ hoặc endpoint token.
  • Một dịch vụ phê duyệt: có thể là một endpoint web tối giản phía sau SSO, hoặc một công cụ ticketing/ChatOps hiện có chạy lệnh kích hoạt đã ký.
  • Ghi nhật ký kiểm toán — lưu nhận dạng người phê duyệt, dấu thời gian, build ID và hash installer. Xem Remote Desktop Audit Logging để biết các trường khuyến nghị và chính sách lưu trữ.
  • Một relay để vượt NAT — relay được quản lý của Tenvo là khuyến nghị mặc định vì nó loại bỏ việc trực ca cho độ khả dụng relay, gia hạn chứng chỉ và failover đa vùng. Chỉ tự-host khi tuân thủ hoặc cô lập mạng yêu cầu; nếu không chi phí vận hành tự-host thường cao hơn so với giá niêm yết. Xem Self-Hosted Remote Desktop: Why, How, and What Breaks.

Ghi chú bảo mật bạn phải chấp nhận

Thực tế bảo mật: client sử dụng TLS với chứng chỉ cho từng thiết bị để kết nối. Một kết nối peer-to-peer trực tiếp là end-to-end giữa hai thiết bị; tuy nhiên, khi lưu lượng rớt về relay, TLS sẽ chấm dứt tại relay đó. Điều đó có nghĩa là người vận hành relay có thể nhìn thấy lưu lượng phiên. Thiết kế luồng phê duyệt và kiểm soát kiểm toán tương ứng — đừng giả định relay là một nút không quan sát.

Luồng chi tiết và thời gian (góc nhìn của người vận hành)

  1. Hoàn thành build ảnh và ghi metadata: build-id, SHA256 ảnh, danh sách gói, checksum installer. Lưu metadata vào kho artifacts của bạn.
  2. Máy khởi động, chạy script lần đầu, áp ảnh, tạo tài khoản cục bộ và cài agent ở chế độ 'khóa' (process agent đã cài nhưng không chấp nhận phiên từ xa).
  3. Script lần đầu tạo một đối tượng yêu cầu phê duyệt chứa host-id, build-id, hash installer agent, IP (nếu biết), fingerprint chứng chỉ host và một HMAC ngắn hạn sử dụng provisioning key.
  4. Yêu cầu phê duyệt được gửi tới kênh người phê duyệt (Ticket, tin nhắn Slack với nút phê duyệt, hoặc dashboard web bảo mật). Người phê duyệt có thể xem metadata build và hash installer. Hành động phê duyệt kích hoạt dịch vụ phê duyệt trung tâm phát ra một token kích hoạt, được ghi và ký.
  5. Máy poll endpoint kích hoạt với nonce yêu cầu ban đầu và HMAC ngắn hạn. Khi token kích hoạt hợp lệ trả về, agent chuyển sang chế độ 'enabled', đăng ký với relay và bắt đầu chấp nhận phiên từ xa. Sự kiện kích hoạt được ghi vào kho kiểm toán với nhận dạng người phê duyệt và dấu thời gian.

Ví dụ thực tế: script first-boot trên Linux

#!/bin/bash
# /usr/local/bin/first-boot-provision.sh
set -e
BUILD_ID=$(cat /etc/build-id || echo unknown)
AGENT_PATH=/opt/tenvo-agent
PROVISION_KEY=/etc/provision.key
HOST_ID=$(hostname -f)-$(cat /etc/machine-id)
CHECKSUM=$(sha256sum ${AGENT_PATH}/installer.tar.gz | awk '{print $1}')
NONCE=$(uuidgen)
JSON=$(jq -n --arg h "$HOST_ID" --arg b "$BUILD_ID" --arg c "$CHECKSUM" --arg n "$NONCE" '{host:$h,build:$b,checksum:$c,nonce:$n}')
HMAC=$(echo -n "$JSON" | openssl dgst -sha256 -hmac "$(cat $PROVISION_KEY)" | awk '{print $2}')
# Post to approval service (HTTPS with SSO in front)
curl -s -X POST -H "Content-Type: application/json" -d "{\"payload\":$JSON,\"hmac\":\"$HMAC\"}" https://approvals.example.com/requests
# poll for activation token (short interval)
for i in {1..60}; do
  TOKEN=$(curl -sS "https://approvals.example.com/activation?host=$HOST_ID&nonce=$NONCE")
  if [ -n "$TOKEN" ] && [ "$TOKEN" != "pending" ]; then
    /opt/tenvo-agent/bin/tenvo-activate --token "$TOKEN"
    systemctl enable tenvo-agent && systemctl start tenvo-agent
    logger "Provisioning: activated by approval service"
    exit 0
  fi
  sleep 5
done
logger "Provisioning: activation timed out, leaving agent disabled"

Ví dụ Windows: kiểm tra kích hoạt bằng PowerShell

# FirstBoot-Provision.ps1
$buildId = Get-Content C:\build-id -ErrorAction SilentlyContinue
$agentInstaller = 'C:\Program Files\Tenvo\installer.msi'
$checksum = (Get-FileHash -Path $agentInstaller -Algorithm SHA256).Hash
$hostId = (Get-WmiObject -Class Win32_ComputerSystem).Name + '-' + (Get-Content C:\Windows\System32\config\systemprofile\machine-id)
$nonce = [guid]::NewGuid().ToString()
$payload = @{host=$hostId; build=$buildId; checksum=$checksum; nonce=$nonce} | ConvertTo-Json
$hmacKey = Get-Content C:\provision\provision.key
$hmac = [System.BitConverter]::ToString((New-Object System.Security.Cryptography.HMACSHA256([System.Text.Encoding]::UTF8.GetBytes($hmacKey))).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($payload))).Replace('-','').ToLower()
Invoke-RestMethod -Uri 'https://approvals.example.com/requests' -Method Post -Body (@{payload=$payload; hmac=$hmac} | ConvertTo-Json) -ContentType 'application/json'
for ($i=0; $i -lt 60; $i++) {
  $token = Invoke-RestMethod -Uri "https://approvals.example.com/activation?host=$hostId&nonce=$nonce"
  if ($token -and $token -ne 'pending') {
    # Tenvo activation command
    & 'C:\Program Files\Tenvo\tenvo.exe' activate --token $token
    Start-Service -Name tenvo-agent
    Write-EventLog -LogName Application -Source 'Provision' -EntryType Information -EventId 1000 -Message 'Agent activated'
    break
  }
  Start-Sleep -Seconds 5
}

UX phê duyệt và các lựa chọn tích hợp

UX đơn giản và hợp lý nhất là một tin nhắn Slack kèm metadata build và hai nút: Approve hoặc Reject. Nút Approve gọi dịch vụ phê duyệt của bạn, ký và lưu token kích hoạt ngắn hạn. Dashboard web dễ kiểm toán hơn và mở rộng tốt cho tổ chức lớn — yêu cầu SSO và MFA. Dù chọn gì, hãy ghi nhận username người phê duyệt, IP và các hash artifact; đừng dựa vào 'ai đó đã nhấn nút' mà không có metadata liên kết.

Ghi nhật ký kiểm toán: những gì cần lưu

Tối thiểu, ghi các trường sau cho mỗi sự kiện kích hoạt: host-id, build-id, installer SHA256, nhận dạng người phê duyệt (email SSO), dấu thời gian (UTC), IP người phê duyệt, phương thức phê duyệt (UI/API), và ID token kích hoạt. Giữ log ở dạng không thể thay đổi trong thời gian lưu trữ yêu cầu và đưa vào SIEM. Xem Remote Desktop Audit Logging để xem đề xuất schema và chính sách lưu trữ.

Ghi chú và khuyến nghị cụ thể cho Tenvo

Tenvo cung cấp client native cho macOS, Windows và Linux và một client trình duyệt ở giai đoạn public beta. Relay được quản lý của Tenvo là khuyến nghị mặc định: nó cung cấp endpoint relay đa vùng, xử lý xoay vòng chứng chỉ và loại bỏ gánh nặng vận hành giữ fleet relay được patch và online. Các gói giá là Free $0, Lite $2.99/mo, và Pro $7.99/mo — chọn gói phù hợp với nhu cầu phiên, kiểm toán và SLA của bạn.

Về mặt vận hành: sử dụng relay được quản lý của Tenvo trừ khi có yêu cầu bằng văn bản cấm hạ tầng bên thứ ba. Chỉ tự-host khi yêu cầu tuân thủ, mạng cô lập hoặc luật lưu trú dữ liệu buộc phải làm vậy; nếu không, chi phí liên tục cho quản lý khóa, gia hạn chứng chỉ TLS, thiết kế failover và trực ca cho độ khả dụng relay làm cho relay được quản lý kinh tế hơn theo thời gian. Nếu bạn quyết định tự-host, xem qua self-hosting guide trước khi cam kết.

Danh sách kiểm tra kiểm thử và xác nhận

  • Unit test: pipeline build tạo đúng build-id và SHA256. Xác minh với reproducible builds nếu có thể.
  • Integration test: script first-boot gửi đúng JSON và HMAC và xử lý token kích hoạt đúng.
  • Thử nghiệm luồng người phê duyệt: xác nhận người phê duyệt thấy metadata đầy đủ (link tới artifact build), nhận dạng người phê duyệt được ghi lại, và token kích hoạt hết hạn sau TTL cấu hình.
  • Thử nghiệm chế độ lỗi: giả lập từ chối phê duyệt hoặc không có phản hồi và xác minh máy vẫn ở trạng thái bị vô hiệu hóa và phát cảnh báo để xem xét thủ công.
  • Kiểm tra relay: xác nhận kết nối peer-to-peer trực tiếp khi NAT cho phép; khi dùng relay, xác minh bạn chấp nhận mô hình terminate-at-relay và có các kiểm soát phù hợp.

Hướng dẫn nhanh xử lý sự cố

  • Agent không bao giờ được kích hoạt: kiểm tra log script first-boot, mismatch khóa HMAC, hoặc khả năng kết nối mạng tới endpoint phê duyệt.
  • Nút phê duyệt không tạo token kích hoạt: kiểm tra log dịch vụ phê duyệt để tìm lỗi chữ ký hoặc thiếu assertions SSO.
  • Máy được kích hoạt nhưng không đăng ký: kiểm tra TLS outbound tới endpoint relay, và kiểm tra firewall chặn các port của Tenvo hoặc phân giải DNS.
  • Kích hoạt đáng ngờ: nếu nhận dạng người phê duyệt có vẻ sai hoặc hash không khớp, ngay lập tức thu hồi thiết bị (vô hiệu hóa agent) và khởi động phản ứng sự cố.

Khi nào nên tự-host so với dùng relay được quản lý (hướng dẫn quyết định ngắn)

Chỉ chọn tự-host nếu bạn có yêu cầu bằng văn bản: một quy định tuân thủ cấm hạ tầng bên thứ ba, máy chạy trong mạng cô lập không có outbound internet, hoặc bạn cần tuân thủ nghiêm ngặt lưu trú dữ liệu. Nếu không, relay được quản lý của Tenvo rẻ hơn về lao động và rủi ro. Để đọc thêm về các đánh đổi, xem How to Set Up Remote Access in 60 Seconds và Remote Desktop Security: What You Need to Know.

Ghi chú khi mở rộng quy mô

Khi mở rộng đến hàng trăm hoặc hàng nghìn thiết bị, đưa bước phê duyệt vào một nhóm người phê duyệt và dùng batching: yêu cầu phê duyệt có thể chứa nhiều host-id và checksum (một người duy nhất phê duyệt cả lô nếu tất cả hash khớp giá trị mong đợi). Vẫn ghi nhật ký từng host riêng. Thêm kiểm tra bất thường tự động để gắn cờ các hash không khớp và yêu cầu phê duyệt theo từng host trong các trường hợp đó.

Trường hợp biên và lưu ý

  • Độ lệch đồng hồ: token ngắn hạn yêu cầu đồng hồ hệ thống chính xác; đảm bảo cấu hình NTP trước khi xác thực token.
  • Xử lý rollback: nếu ảnh bị rollback, ghi hành động rollback vào đường dẫn kiểm toán và tùy chọn yêu cầu phê duyệt lại cho các host bị ảnh hưởng.
  • Mất thông tin đăng nhập người phê duyệt: xử lý quyền truy cập dịch vụ phê duyệt như bất kỳ plane điều khiển đặc quyền nào — yêu cầu MFA và kiểm toán phiên.

Mẫu này — cài sẵn agent ở trạng thái khóa, phát metadata đã ký, yêu cầu một kích hoạt rõ ràng của con người và ghi một đường dẫn kiểm toán không thể thay đổi — cho bạn tốc độ của provisioning tự động trong khi giữ một cửa kiểm duyệt có trách nhiệm. Nó hoạt động cho cả việc triển khai một nghìn laptop dev hay một agent AI cho một fleet server.

Để có ngữ cảnh thêm về điều khiển từ xa do AI điều khiển và chính sách, đọc ai agent remote desktop: policies, approvals, audit và ai agent audit log: what records must contain. Nếu bạn muốn một checklist nhanh để bắt đầu, How to Set Up Remote Access in 60 Seconds là tài liệu đồng hành ngắn gọn.

Sẵn sàng thử? Tải client Tenvo và kiểm thử luồng trên một máy trước tiên: Tải Tenvo.

Nhận Tenvo

Sẵn sàng tự trải nghiệm?

Miễn phí cho 30 thiết bị, không cần thẻ tín dụng. Kết nối và hoạt động trong hai phút.