Thủ thuật
Hướng dẫn thiết lập Mac dự phòng để Claude Code toàn quyền kiểm soát
(giờ Việt Nam)
Tóm tắt AI
Hướng dẫn từng bước biến máy Mac cũ thành trạm làm việc chuyên dụng cho Claude Code, giúp tận dụng tính năng computer use một cách an toàn thông qua SSH mà không ảnh hưởng đến dữ liệu cá nhân.
Bản dịch AI
claude-controls-mac
Dưới đây là hướng dẫn chi tiết từng bước để biến chiếc Mac dự phòng của bạn thành một cỗ máy luôn hoạt động, nơi Claude Code có thể kiểm soát hoàn toàn với tính năng "computer use" (sử dụng máy tính) được kích hoạt. Bạn sẽ có thể trò chuyện với nó từ điện thoại thông qua ứng dụng Claude, hoặc từ chiếc Mac chính của bạn thông qua SSH.
Trong trường hợp bạn đang đọc bài viết này trên GitHub Pages, đây là phiên bản lưu trữ tại repo.
Tại sao lại làm điều này?
Tôi muốn tạo ra một môi trường riêng biệt mà Claude Code có thể tự mình kiểm soát, để tôi có thể ủy quyền các tác vụ mà tôi không nhất thiết muốn chạy trên máy chính của mình - ví dụ như một số loại tác vụ nghiên cứu và phát triển.
Claude Code, đặc biệt là khi sử dụng flag `--dangerously-skip-permissions`, tiềm ẩn những rủi ro nhất định khi chạy trên máy chính của bạn. Bạn có thể loại bỏ/giảm thiểu các rủi ro này bằng cách tạo một môi trường riêng biệt trên chiếc Mac dự phòng với mọi quyền truy cập cần thiết.
Nó còn có thêm lợi ích là bạn có thể trò chuyện với Claude Code mọi lúc, mọi nơi từ điện thoại. Cá nhân tôi thấy điều này thực sự hữu ích vì tôi thường thích trò chuyện với Claude Code hơn là Claude thông thường trên ứng dụng di động - Claude Code thường có khả năng xử lý tốt hơn.
Hướng dẫn sau đây giả định rằng bạn có một chiếc Mac chính và một chiếc Mac dự phòng để thiết lập, nhưng bạn hoàn toàn có thể lấy cảm hứng từ đây và áp dụng cho bất kỳ sự kết hợp nào giữa hai thiết bị.
Tại sao lại chọn thiết lập này?
Trước tiên, hãy giải quyết nhanh một vài câu hỏi mà bạn có thể thắc mắc.
Tại sao không chạy nó trong container?
Tôi là người ủng hộ nhiệt tình việc chạy trong container - tôi thậm chí đã xây dựng cả một môi trường để thực hiện việc này một cách thuận tiện. Tuy nhiên, tôi nhận thấy nó có một vài hạn chế. Thứ nhất, nó vẫn chạy trên máy chính của bạn, vì vậy nó không hoàn toàn tách biệt. Ví dụ, các yêu cầu mạng mà nó gửi vẫn đi qua máy chính của bạn.
Thứ hai, có những hạn chế về khả năng của container. Ví dụ, tôi muốn tác nhân (agent) của mình có thể chạy Unity để phát triển game, và không có cách nào dễ dàng để làm điều đó trong container. Điều tương tự cũng áp dụng cho bất kỳ ứng dụng nào khác chỉ có trên Mac - bạn sẽ không thể truy cập vào chúng. Điều này đặc biệt quan trọng nếu bạn muốn Claude Code điều khiển các ứng dụng này thông qua tính năng "computer use" - như nhấp chuột, kéo thả, v.v.
Tại sao không sử dụng các công cụ như OpenClaw?
Cá nhân tôi thích được truy cập vào đầy đủ các tính năng mới nhất của Claude Code. Tôi cũng thích việc có thể điều khiển nó từ ứng dụng Claude - tôi thấy nó thực sự tiện lợi. Và bạn còn được tận dụng gói đăng ký Claude của mình nếu có, đó là một điểm cộng.
Suy cho cùng, việc chạy một tác nhân với quyền hạn rộng rãi sẽ an toàn hơn trên một cỗ máy không có dữ liệu quan trọng - nhưng bạn vẫn nhận được lợi ích khi sử dụng một chiếc Mac đầy đủ thay vì một container. Cách tiếp cận ở đây như sau:
Những gì bạn cần chuẩn bị
1. Khởi tạo mới trên chiếc Mac mục tiêu
Xóa sạch dữ liệu trước (nếu máy có bất kỳ dữ liệu cá nhân nào)
Bạn sẽ cấp cho tác nhân toàn quyền truy cập vào máy này, vì vậy nó có thể tiếp cận bất cứ thứ gì được lưu trữ trên đó. Nếu có dữ liệu hiện có mà bạn không muốn nó truy cập, hãy xóa sạch máy trước:
Tùy chọn: cập nhật lên macOS mới nhất sau đó (Cài đặt hệ thống -> Cài đặt chung -> Cập nhật phần mềm).
Tạo một tài khoản mới, tách biệt
Cấp quyền quản trị (admin) cho tài khoản đó (nếu bạn chưa làm)
Tài khoản cần có quyền quản trị, nếu không lệnh sudo sẽ từ chối thực thi.
2. Bật Đăng nhập từ xa (SSH) trên chiếc Mac mục tiêu
Trên máy mục tiêu, hãy bật SSH để máy nguồn có thể kết nối:
Nếu lệnh thất bại với thông báo "Turning Remote Login on or off requires Full Disk Access privileges", hãy cấp quyền "Full Disk Access" (Truy cập toàn bộ ổ đĩa) cho ứng dụng terminal của bạn trước:
3. Cấu hình sudo không cần mật khẩu cho tài khoản mục tiêu
Điều này giúp tác nhân (và các lệnh SSH của bạn) có thể chạy các tác vụ quản trị mà không cần nhập mật khẩu mỗi lần. Hãy chạy lệnh này một lần trên máy mục tiêu. Nó sẽ yêu cầu mật khẩu đăng nhập chỉ trong lần này:
Thao tác này tạo ra một tệp quy tắc nhỏ thông báo cho máy Mac rằng `<user>` có thể chạy sudo mà không cần nhắc mật khẩu:
Sau bước này, sudo sẽ chạy mà không cần nhắc - hãy kiểm tra bằng lệnh `sudo -n true`, lệnh này sẽ chạy âm thầm nếu cấu hình sudo không mật khẩu thành công.
4. Tìm địa chỉ của máy mục tiêu (hostname hoặc IP)
Bạn có thể kết nối với máy mục tiêu bằng hostname hoặc IP. Tôi khuyên bạn nên sử dụng hostname: nó sẽ giữ nguyên, trong khi IP có thể thay đổi.
Hostname (khuyên dùng). Chạy trên máy mục tiêu:
Thêm `.local` để tạo địa chỉ: `<target-host>.local`. Bạn cũng có thể xem nó trong Cài đặt hệ thống -> Cài đặt chung -> Chia sẻ, hiển thị dưới mục "Tên máy chủ cục bộ" (Local hostname).
Đặt cho máy mục tiêu một cái tên duy nhất. Mỗi máy Mac cần một tên `.local` duy nhất trên mạng của bạn. Nếu hai máy dùng chung một tên, địa chỉ có thể trỏ đến sai máy. Hãy đảm bảo tên của máy mục tiêu là duy nhất - đổi tên nếu cần:
Địa chỉ IP (không khuyến khích). Chạy trên máy mục tiêu:
Lưu ý rằng IP có thể thay đổi sau khi khởi động lại hoặc sau một khoảng thời gian nhất định.
Trong phần còn lại của hướng dẫn này, hãy thay thế `<user>` bằng tên tài khoản mục tiêu và `<target-host>` bằng hostname ở trên, để địa chỉ có dạng `<user>@<target-host>.local`. Bạn cũng có thể sử dụng IP thay cho `<target-host>.local`.
5. Thiết lập SSH không cần mật khẩu từ máy nguồn
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.