Como habilitar o acesso remoto para outra conta no Mac remotamente via SSH?


23

Eu tenho direitos de administrador em um computador Mac remoto. Eu posso acessá-lo via SSH. O Mac possui outra conta de usuário, que não possui acesso remoto. Como posso habilitar remotamente (via SSH) o acesso remoto para a outra conta?

Respostas:


19

O acesso SSH pelos usuários é controlado pela cópia local dos Serviços de Diretório. (Controlado usando dscl)

Primeira corrida dscl . list /Groups | grep 'access_ssh'. Se o valor retornado indicar com.apple.access_ssh-disabled, todos os usuários terão acesso SSH. Caso contrário, precisamos fornecer acesso ao usuário.

Para adicionar o usuário, você precisa executar:

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

(substitua USERNAME pelo nome de usuário curto do usuário) e também:

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

(substitua USERNAME por um nome de usuário curto também)

(O último bit é graças a Reed Stoner em lists.apple.com )

Para adicionar / ativar o Gerenciamento Remoto apenas para usuários específicos (adicione sinalizadores VNC da resposta do ghoppe se você quiser o 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

Saiba mais executando sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@ Andrei: Adicione o sinalizador -users após -configure com a lista de usuários. Eu adicionei à minha resposta.
Chealion

4
Parece que a estrutura do access_ssh mudou ao longo do tempo. A chave 'usuário' no primeiro comando dscl agora deve ser GroupMembership. O segundo comando dscl que anexa o UID aos membros do grupo ainda é válido.
Erik

2
Erik está correto - @Chealion, você pode atualizar sua resposta alterando o comando paradscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay 21/11/2012

2
Estou no 10.11.5 e os comandos não reclamam, mas o usuário ainda não pode ssh. EDIT: tentei isso e funcionou: support.apple.com/kb/PH18726
Jayen

1
Embora essa resposta ainda possa funcionar, a resposta de @ teppic fornece um método mais correto usando a ferramenta específica para editar grupos dseditgroup.
Endareth

12

Com base na resposta de Chealion, criei isso para permitir que TODOS os usuários façam ssh:

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

5

Habilite a Área de Trabalho Remota via linha de comando:

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

Desative o compartilhamento de tela:

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

EDITAR

OK, posso ter entendido mal sua pergunta. Por "Acesso remoto", presumi que você quis dizer área de trabalho remota, mas agora vejo que você deseja habilitar o acesso ssh para a outra conta, certo?

Minha resposta leva você até o meio do caminho. Após ativar a Área de trabalho remota, conforme mostrado, conecte-se ao Mac remoto para alterar o acesso ssh do usuário por meio de Prefs do sistema.

Para conectar-se ao Mac remoto, vá ao Finder e selecione Connect to Server…no menu Ir. digite o Endereço do servidor do seu computador:

vnc://x.x.x.x

Onde xxxx é o endereço IP ou o URI do computador remoto. Desde que você se conectou ao ssh, presumo que você já saiba disso.

Agora você pode usar a Área de Trabalho Remota para navegar até Prefs do Sistema> Contas e clique na caixa para permitir que a outra conta efetue login no computador…


Preciso ter o Apple Remote Desktop instalado no Mac remoto? O que devo fazer após o primeiro comando?
Andrei

1
A área de trabalho remota já está instalada no sistema. Editarei minha resposta para obter instruções da Área de Trabalho Remota. Opa Talvez eu tenha entendido mal a sua pergunta ...
ghoppe 21/07

De qualquer forma, o que preciso fazer após o primeiro comando, supondo que eu esteja usando outro Mac para acessar o remoto?
Andrei

2
Editou minha resposta. Pode haver uma maneira de habilitar o acesso ssh via linha de comando, para que você não precise fazer isso pela Área de Trabalho Remota, mas esse método também deve funcionar.
21810 ghoppe

O primeiro comando faz algo suspeito - altera outras contas, não apenas as minhas. Pode ser modificado de forma que outras contas não sejam afetadas?
Andrei

5

ssho acesso é concedido aos membros do com.apple.access_sshgrupo. Este é o grupo que você está editando quando faz modificações de acesso ao serviço Login Remoto através do painel de preferências Compartilhamento .

Embora dsclpossa ser usado para editar participações em grupos (como descrito em outras respostas), dseditgroupé uma maneira mais limpa de modificar as com.apple.access_sshparticipações em grupos na linha de comando.

para adicionar um usuário:

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

para remover um usuário:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.