Làm cách nào để kích hoạt quyền truy cập từ xa cho một tài khoản khác trên Mac từ xa thông qua SSH?


23

Tôi có quyền quản trị tại một máy tính Mac từ xa. Tôi có thể truy cập nó thông qua SSH. Mac có một tài khoản người dùng khác, không có quyền truy cập từ xa. Làm cách nào tôi có thể từ xa (thông qua SSH) cho phép truy cập từ xa cho tài khoản khác?

Câu trả lời:


19

Quyền truy cập SSH của người dùng được kiểm soát bởi bản sao Dịch vụ thư mục cục bộ. (Kiểm soát sử dụng dscl)

Đầu tiên chạy đi dscl . list /Groups | grep 'access_ssh'. Nếu giá trị trả về cho biết com.apple.access_ssh-disabledthì tất cả người dùng có quyền truy cập SSH. Nếu không, sau đó chúng ta cần cung cấp cho người dùng quyền truy cập.

Để thêm người dùng, bạn cần chạy:

sudo dscl . append /Groups/com.apple.access_ssh user USERNAME

(thay thế USERNAME bằng tên người dùng ngắn của người dùng) cũng như:

sudo dscl . append /Groups/com.apple.access_ssh groupmembers `dscl . read /Users/USERNAME GeneratedUID | cut -d " " -f 2`

(thay thế USERNAME bằng tên người dùng ngắn)

(Bit cuối cùng là nhờ có Reed Stoner trên danh sách.apple.com )

Để thêm / bật Quản lý từ xa chỉ cho người dùng cụ thể (Thêm cờ VNC từ câu trả lời của ghoppe nếu bạn muốn VNC):

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -users short,usernames,seperated,by,commas -access -on -restart -agent -privs -all -allowAccessFor -specifiedUsers

Tìm hiểu thêm bằng cách chạy sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@Andrei: Thêm cờ -users sau -hình với danh sách người dùng. Tôi đã thêm nó vào câu trả lời của tôi.
Chealion

4
Có vẻ như cấu trúc của access_ssh đã thay đổi theo thời gian. Khóa 'người dùng' trong lệnh dscl đầu tiên bây giờ sẽ là GroupMembership. Lệnh dscl thứ hai nối thêm UID cho các thành viên nhóm vẫn hợp lệ.
Erik

2
Erik đã đúng - @Chealion, bạn có thể cập nhật câu trả lời của mình bằng cách thay đổi lệnh thànhdscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay

2
Tôi đang ở ngày 10.11.5 và các lệnh không phàn nàn, nhưng người dùng vẫn không thể ssh. EDIT: đã thử cái này và nó đã hoạt động: support.apple.com/kb/PH18726
Jayen

1
Mặc dù câu trả lời này có thể vẫn hoạt động, nhưng câu trả lời của @ teppic cung cấp một phương pháp đúng hơn bằng cách sử dụng công cụ cụ thể để chỉnh sửa nhóm dseditgroup.
Kết thúc

12

Dựa trên câu trả lời của Chealion, tôi đã đưa ra điều này để cho phép TẤT CẢ người dùng ssh in:

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled

5

Kích hoạt Remote Desktop thông qua dòng lệnh:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all

Tắt chia sẻ màn hình:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

CHỈNH SỬA

OK, tôi có thể đã hiểu nhầm câu hỏi của bạn. Bởi "Truy cập từ xa" Tôi cho rằng bạn có nghĩa là máy tính để bàn từ xa, nhưng bây giờ tôi thấy bạn chỉ muốn kích hoạt quyền truy cập ssh cho tài khoản khác, phải không?

Câu trả lời của tôi giúp bạn có được một nửa ở đó. Sau khi bật Remote Desktop như được hiển thị, sau đó kết nối với máy Mac từ xa để thay đổi quyền truy cập ssh của người dùng thông qua System Prefs.

Để kết nối với máy Mac từ xa, hãy truy cập Finder và chọn Connect to Server…trong menu Go. gõ Địa chỉ máy chủ cho máy tính của bạn:

vnc://x.x.x.x

Trong đó xxxx là địa chỉ IP hoặc URI của máy tính từ xa. Vì bạn đã kết nối với ssh, tôi cho rằng bạn đã biết điều này.

Bây giờ bạn có thể sử dụng Remote Desktop để điều hướng đến System Prefs> Tài khoản và nhấp vào hộp để cho phép tài khoản khác đăng nhập vào máy tính.


Tôi có cần cài đặt Apple Remote Desktop trên máy Mac từ xa không? Tôi nên làm gì sau lệnh đầu tiên?
Andrei

1
Remote Desktop đã được cài đặt trong Hệ thống. Tôi sẽ chỉnh sửa câu trả lời của mình cho hướng dẫn Remote Desktop. Rất tiếc. Tôi có thể đã hiểu nhầm câu hỏi của bạn
ghoppe

Dù sao, tôi cần làm gì sau lệnh đầu tiên, giả sử rằng tôi đang sử dụng máy Mac khác để truy cập từ xa?
Andrei

2
Chỉnh sửa câu trả lời của tôi. Có thể có một cách để cho phép truy cập ssh thông qua dòng lệnh để bạn không phải thực hiện thông qua Remote Desktop, nhưng phương pháp này cũng hoạt động.
ghoppe

Lệnh đầu tiên thực hiện điều gì đó đáng ngờ - nó thay đổi các tài khoản khác, không chỉ của tôi. Nó có thể được sửa đổi theo cách mà các tài khoản khác không bị ảnh hưởng?
Andrei

5

sshtruy cập được cấp cho các thành viên của com.apple.access_sshnhóm. Đây là nhóm bạn đang chỉnh sửa khi bạn thực hiện sửa đổi quyền truy cập vào dịch vụ Đăng nhập từ xa thông qua ngăn chia sẻ trước.

Mặc dù dsclcó thể được sử dụng để chỉnh sửa tư cách thành viên nhóm (như được mô tả trong các câu trả lời khác), dseditgrouplà một cách sạch hơn để sửa đổi com.apple.access_sshtư cách thành viên nhóm từ dòng lệnh.

để thêm người dùng:

sudo dseditgroup -o edit -t user -a USERNAME com.apple.access_ssh

để xóa người dùng:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.