Jak włączyć zdalny dostęp do innego konta na komputerze Mac zdalnie przez SSH?

23

Mam uprawnienia administratora na zdalnym komputerze Mac. Mogę uzyskać do niego dostęp za pośrednictwem SSH. Komputer Mac ma inne konto użytkownika, które nie ma dostępu zdalnego. Jak mogę zdalnie (przez SSH) włączyć zdalny dostęp do drugiego konta?

Andrei
źródło

Odpowiedzi:

19

Dostęp użytkowników SSH jest kontrolowany przez lokalną kopię Usług katalogowych. (Kontrolowane za pomocą dscl)

Pierwsze uruchomienie dscl . list /Groups | grep 'access_ssh'. Jeśli zwrócona wartość mówi, com.apple.access_ssh-disabledwszyscy użytkownicy mają dostęp do SSH. Jeśli nie, to musimy dać użytkownikowi dostęp.

Aby dodać użytkownika, musisz uruchomić:

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

(zastąp USERNAME krótką nazwą użytkownika), a także:

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

(zastąp także USERNAME krótką nazwą użytkownika)

(Ostatni kawałek to dzięki Reedowi Stonerowi na lists.apple.com )

Aby dodać / włączyć zdalne zarządzanie tylko dla określonych użytkowników (dodaj flagi VNC z odpowiedzi ghoppe, jeśli chcesz 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

Dowiedz się więcej, uruchamiając sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h

Chealion
źródło
1
@Andrei: dodaj flagę -users po opcji -configure z listą użytkowników. Dodałem to do mojej odpowiedzi.
Chealion
4
Wygląda na to, że struktura access_ssh zmieniła się z czasem. Kluczowym „użytkownikiem” w pierwszym poleceniu dscl powinno być teraz GroupMembership. Druga komenda dscl dołączająca UID do członków grupy jest nadal ważna.
Erik,
2
Erik ma rację - @Chealion, czy możesz zaktualizować swoją odpowiedź, zmieniając komendę nadscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay
2
Mam 10.11.5 i polecenia nie narzekają, ale użytkownik nadal nie może ssh. EDYCJA: wypróbowałem to i zadziałało: support.apple.com/kb/PH18726
Jayen
1
Chociaż ta odpowiedź może nadal działać, odpowiedź @ teppic zapewnia bardziej poprawną metodę przy użyciu konkretnego narzędzia do edycji grup dseditgroup.
Endareth,
12

Na podstawie odpowiedzi Chealiona wymyśliłem to, aby WSZYSCY użytkownicy mogli ssh:

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled
Marmaduke
źródło
5

Włącz pulpit zdalny za pomocą wiersza polecenia:

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

Wyłącz udostępnianie ekranu:

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

EDYTOWAĆ

OK, mogłem źle zrozumieć twoje pytanie. Przez „Zdalny dostęp” przypuszczałem, że miałeś na myśli pulpit zdalny, ale teraz widzę, że po prostu chcesz włączyć dostęp ssh dla drugiego konta, prawda?

Moja odpowiedź zaprowadzi cię w połowie drogi. Po włączeniu Pulpitu zdalnego, jak pokazano, połącz się ze zdalnym komputerem Mac, aby zmienić dostęp ssh użytkownika za pośrednictwem Prefiksów systemu.

Aby połączyć się ze zdalnym komputerem Mac, przejdź do Findera i wybierz Connect to Server…w menu Go. wpisz adres serwera dla swojego komputera:

vnc://x.x.x.x

Gdzie xxxx to adres IP lub identyfikator URI komputera zdalnego. Ponieważ łączyłeś się z ssh, zakładam, że już o tym wiesz.

Teraz możesz użyć Pulpitu zdalnego, aby przejść do Pref. Systemowych> Konta i kliknąć pole, aby zezwolić drugiemu logować się na komputerze…

ghoppe
źródło
Czy muszę mieć Apple Remote Desktop zainstalowany na zdalnym komputerze Mac? Co powinienem zrobić po pierwszym poleceniu?
Andrei
1
Pulpit zdalny jest już zainstalowany w systemie. Zmienię swoją odpowiedź na instrukcje dotyczące pulpitu zdalnego. Ups Być może źle zrozumiałem twoje pytanie…
ghoppe
W każdym razie, co muszę zrobić po pierwszym poleceniu, zakładając, że używam innego komputera Mac, aby uzyskać dostęp do zdalnego?
Andrei
2
Edytowałem moją odpowiedź. Może istnieć sposób na włączenie dostępu ssh za pomocą wiersza poleceń, więc nie musisz tego robić za pomocą Pulpitu zdalnego, ale ta metoda również powinna działać.
ghoppe
Pierwsze polecenie robi coś podejrzanego - zmienia inne konta, nie tylko moje. Czy można to zmienić w taki sposób, aby nie miało to wpływu na inne konta?
Andrei
5

sshdostęp jest przyznawany członkom com.apple.access_sshgrupy. Jest to grupa, którą edytujesz, gdy modyfikujesz dostęp do usługi logowania zdalnego za pomocą panelu przedniego Udostępnianie .

Chociaż dsclmożna go używać do edytowania członkostwa w grupach (jak opisano w innych odpowiedziach), dseditgroupjest prostszym sposobem modyfikacji com.apple.access_sshczłonkostwa w grupach z wiersza poleceń.

aby dodać użytkownika:

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

aby usunąć użytkownika:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
teppic
źródło