Wie kann ich den Remotezugriff für ein anderes Konto auf einem Mac über SSH aktivieren?

23

Ich habe Administratorrechte an einem entfernten Mac-Computer. Ich kann über SSH darauf zugreifen. Der Mac verfügt über ein anderes Benutzerkonto, das keinen Remotezugriff hat. Wie kann ich remote (über SSH) den Remotezugriff für das andere Konto aktivieren?

Andrei
quelle

Antworten:

19

Der SSH-Zugriff durch Benutzer wird von der lokalen Kopie von Directory Services gesteuert. (Gesteuert mit dscl)

Zuerst laufen dscl . list /Groups | grep 'access_ssh'. Wenn der zurückgegebene Wert besagt, haben com.apple.access_ssh-disabledalle Benutzer SSH-Zugriff. Wenn nicht, müssen wir dem Benutzer Zugriff gewähren.

Um den Benutzer hinzuzufügen, müssen Sie Folgendes ausführen:

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

(Ersetzen Sie USERNAME durch den kurzen Benutzernamen des Benutzers) sowie:

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

(Ersetzen Sie auch USERNAME durch einen kurzen Benutzernamen.)

(Der letzte Teil ist Reed Stoner auf lists.apple.com zu verdanken )

So aktivieren / fügen Sie die Remoteverwaltung nur für bestimmte Benutzer hinzu (fügen Sie VNC-Flags aus Ghoppes Antwort hinzu, wenn Sie VNC möchten):

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

Weitere Informationen erhalten Sie beim Laufen sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h

Chealion
quelle
1
@Andrei: Fügen Sie das Flag -users nach -configure mit der Liste der Benutzer hinzu. Ich habe es zu meiner Antwort hinzugefügt.
Chealion
4
Es scheint, dass sich die Struktur von access_ssh im Laufe der Zeit geändert hat. Der Schlüssel 'user' im ersten Befehl dscl sollte jetzt GroupMembership sein. Der zweite Befehl dscl, mit dem die UID an Gruppenmitglieder angehängt wird, ist weiterhin gültig.
Erik
2
Erik hat recht - @Chealion, können Sie Ihre Antwort aktualisieren, indem Sie den Befehl aufdscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay
2
Ich bin auf 10.11.5 und die Befehle beschweren sich nicht, aber der Benutzer kann immer noch nicht ssh. BEARBEITEN: versuchte dies und es funktionierte: support.apple.com/kb/PH18726
Jayen
1
Während diese Antwort möglicherweise noch funktioniert, bietet die Antwort von @ teppic eine korrektere Methode mit dem speziellen Tool zum Bearbeiten von Gruppen dseditgroup.
Endareth
11

Basierend auf der Antwort von Chealion habe ich mir das ausgedacht, damit ALLE Benutzer ssh in:

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled
Marmaduke
quelle
5

Aktivieren Sie Remotedesktop über die Befehlszeile:

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

Deaktivieren Sie die Bildschirmfreigabe:

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

BEARBEITEN

OK, ich habe Ihre Frage vielleicht falsch verstanden. Unter "Remote-Zugriff" habe ich angenommen, dass Sie Remotedesktop gemeint haben, aber jetzt möchten Sie nur den SSH-Zugriff für das andere Konto aktivieren, oder?

Meine Antwort bringt Sie auf halbem Weg dorthin. Nachdem Sie Remote Desktop wie gezeigt aktiviert haben, stellen Sie eine Verbindung mit dem Remote-Mac her, um den SSH-Zugriff des Benutzers über die Systemeinstellungen zu ändern.

Um eine Verbindung zum Remote-Mac herzustellen, rufen Sie den Finder auf und wählen Connect to Server…Sie im Menü "Gehe zu". Geben Sie die Serveradresse für Ihren Computer ein:

vnc://x.x.x.x

Wobei xxxx die IP-Adresse oder der URI des Remotecomputers ist. Da du dich mit ssh verbunden hast, weißt du das vermutlich schon.

Jetzt können Sie mit dem Remotedesktop zu Systemeinstellungen> Konten navigieren und auf das Kästchen klicken, damit sich das andere Konto beim Computer anmelden kann.

Ghoppe
quelle
Muss Apple Remote Desktop auf dem Remote-Mac installiert sein? Was soll ich nach dem ersten Befehl tun?
Andrei
1
Remote Desktop ist bereits im System installiert. Ich bearbeite meine Antwort für Anweisungen zu Remotedesktop. Hoppla. Ich kann Ihre Frage falsch verstanden haben ...
Ghoppe
Was muss ich nach dem ersten Befehl tun, vorausgesetzt, ich benutze einen anderen Mac, um auf den Remote-Mac zuzugreifen?
Andrei
2
Bearbeitet meine Antwort. Möglicherweise gibt es eine Möglichkeit, den SSH-Zugriff über die Befehlszeile zu aktivieren, sodass Sie dies nicht über Remote Desktop tun müssen. Diese Methode sollte jedoch auch funktionieren.
Ghoppe
Der erste Befehl macht etwas Verdächtiges - er ändert andere Konten, nicht nur meine. Kann es so geändert werden, dass andere Konten nicht betroffen sind?
Andrei
5

sshDer Zugriff wird Mitgliedern der com.apple.access_sshGruppe gewährt . Dies ist die Gruppe, die Sie bearbeiten, wenn Sie über die Freigabe Zugriffsänderungen am Remote-Anmeldedienst vornehmen Einstellungsbereich " Zugriffsänderungen Anmeldedienst vornehmen.

Sie dsclkönnen zwar zum Bearbeiten von Gruppenmitgliedschaften (wie in anderen Antworten beschrieben) verwendet werden, dies dseditgroupist jedoch eine übersichtlichere Möglichkeit, die com.apple.access_sshGruppenmitgliedschaften über die Befehlszeile zu ändern .

So fügen Sie einen Benutzer hinzu:

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

So entfernen Sie einen Benutzer:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
teppisch
quelle