Comment activer à distance l'accès à un autre compte sur Mac via SSH?

23

J'ai des droits d'administrateur sur un ordinateur Mac distant. Je peux y accéder via SSH. Le Mac possède un autre compte utilisateur, qui n'a pas d'accès à distance. Comment puis-je activer à distance (via SSH) l'accès à distance pour l'autre compte?

Andrei
la source

Réponses:

19

L'accès SSH par les utilisateurs est contrôlé par la copie locale des services d'annuaire. (Contrôlé en utilisant dscl)

Premier départ dscl . list /Groups | grep 'access_ssh'. Si la valeur renvoyée indique, com.apple.access_ssh-disabledtous les utilisateurs ont un accès SSH. Sinon, nous devons donner l'accès à l'utilisateur.

Pour ajouter l'utilisateur que vous devez exécuter:

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

(remplacez USERNAME par le nom d'utilisateur court de l'utilisateur) ainsi que:

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

(remplacez USERNAME par un nom d'utilisateur court également)

(Le dernier morceau est grâce à Reed Stoner sur lists.apple.com )

Pour ajouter / activer la gestion à distance pour des utilisateurs spécifiques uniquement (ajoutez des indicateurs VNC à partir de la réponse de ghoppe si vous voulez 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

En savoir plus en exécutant sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h

Chealion
la source
1
@Andrei: Ajoutez l'indicateur -users après -configure avec la liste des utilisateurs. Je l'ai ajouté à ma réponse.
Chealion
4
Il semble que la structure de access_ssh ait changé au fil du temps. La clé «utilisateur» dans la première commande dscl devrait maintenant être GroupMembership. La deuxième commande dscl ajoutant l'UID aux membres du groupe est toujours valide.
Erik
2
Erik a raison - @Chealion, pourriez-vous mettre à jour votre réponse en changeant la commande endscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay
2
Je suis sur 10.11.5 et les commandes ne se plaignent pas, mais l'utilisateur ne peut toujours pas ssh. EDIT: a essayé cela et cela a fonctionné: support.apple.com/kb/PH18726
Jayen
1
Bien que cette réponse puisse encore fonctionner, la réponse de @ teppic fournit une méthode plus correcte en utilisant l'outil spécifique pour éditer les groupes dseditgroup.
Endareth
12

Sur la base de la réponse de Chealion, j'ai trouvé ceci pour permettre à TOUS les utilisateurs de ssh dans:

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

Activer le Bureau à distance via la ligne de commande:

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

Désactivez le partage d'écran:

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

MODIFIER

OK, j'ai peut-être mal compris votre question. Par «accès à distance», je présumais que vous vouliez dire un bureau à distance, mais maintenant je vois que vous voulez simplement activer l'accès ssh pour l'autre compte, non?

Ma réponse vous amène à mi-chemin. Après avoir activé Remote Desktop comme indiqué, connectez-vous au Mac distant pour modifier l'accès ssh de l'utilisateur via System Prefs.

Pour vous connecter au Mac distant, accédez au Finder et sélectionnez Connect to Server…dans le menu Aller. saisissez l'adresse du serveur de votre ordinateur:

vnc://x.x.x.x

Où xxxx est l'adresse IP ou l'URI de l'ordinateur distant. Depuis que vous êtes connecté avec ssh, je suppose que vous le savez déjà.

Vous pouvez maintenant utiliser le Bureau à distance pour accéder à Préférences système> Comptes et cliquer sur la case pour autoriser l'autre compte à se connecter à l'ordinateur…

ghoppe
la source
Dois-je installer Apple Remote Desktop sur le Mac distant? Que dois-je faire après la première commande?
Andrei
1
Remote Desktop est déjà installé sur le système. Je modifierai ma réponse pour les instructions de Remote Desktop. Oops. J'ai peut-être mal compris votre question…
ghoppe
Quoi qu'il en soit, que dois-je faire après la première commande, en supposant que j'utilise un autre Mac pour accéder à celui à distance?
Andrei
2
Modifié ma réponse. Il peut y avoir un moyen d'activer l'accès ssh via la ligne de commande afin que vous n'ayez pas à le faire via Remote Desktop, mais cette méthode devrait également fonctionner.
ghoppe
La première commande fait quelque chose de suspect - elle change d'autres comptes, pas seulement le mien. Peut-il être modifié de telle manière que les autres comptes ne soient pas affectés?
Andrei
5

sshl'accès est accordé aux membres du com.apple.access_sshgroupe. Il s'agit du groupe que vous modifiez lorsque vous apportez des modifications d'accès au service de connexion à distance via le volet des préférences de partage .

Bien qu'il dsclpuisse être utilisé pour modifier les appartenances aux groupes (comme décrit dans d'autres réponses), il dseditgroups'agit d'un moyen plus propre de modifier les com.apple.access_sshappartenances aux groupes depuis la ligne de commande.

pour ajouter un utilisateur:

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

pour supprimer un utilisateur:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
teppic
la source