SSH를 통해 원격으로 Mac에서 다른 계정에 대한 원격 액세스를 활성화하는 방법은 무엇입니까?


23

원격 Mac 컴퓨터에 대한 관리자 권한이 있습니다. SSH를 통해 액세스 할 수 있습니다. Mac에는 다른 사용자 계정이 있으며 원격으로 액세스 할 수 없습니다. SSH를 통해 원격으로 다른 계정에 대한 원격 액세스를 활성화하려면 어떻게해야합니까?

답변:


19

사용자의 SSH 액세스는 디렉토리 서비스의 로컬 사본에 의해 제어됩니다. (를 사용하여 제어 dscl)

먼저 실행 dscl . list /Groups | grep 'access_ssh'합니다. 반환 된 값이 표시되면 com.apple.access_ssh-disabled모든 사용자가 SSH 액세스 권한을 갖습니다. 그렇지 않은 경우 사용자에게 액세스 권한을 부여해야합니다.

실행해야하는 사용자를 추가하려면 다음을 수행하십시오.

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

(USERNAME을 사용자의 짧은 사용자 이름으로 교체) 및

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

(USERNAME을 짧은 사용자 이름으로 바꾸십시오)

(마지막 비트는 list.apple.com의 Reed Stoner 덕분입니다 )

특정 사용자에 대해서만 원격 관리를 추가 / 활성화하려면 (VNC 를 원하는 경우 ghoppe의 답변 에서 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

다음을 실행하여 더 알아보십시오 sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@Andrei : 사용자 목록과 함께 -configure 후에 -users 플래그를 추가하십시오. 나는 그것을 내 대답에 추가했다.
Chealion

4
access_ssh의 구조가 시간이 지남에 따라 변경된 것 같습니다. 첫 번째 dscl 명령의 키 'user'는 이제 GroupMembership이어야합니다. UID를 그룹 구성원에 추가하는 두 번째 dscl 명령은 여전히 ​​유효합니다.
Erik

2
Erik이 맞습니다-@Chealion, 명령을 다음과 같이 변경하여 답변을 업데이트 할 수 있습니까?dscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay

2
나는 10.11.5에 있고 명령은 불평하지 않지만 사용자는 여전히 ssh 할 수 없습니다. 편집 : 이것을 시도하고 작동 : support.apple.com/kb/PH18726
Jayen

1
이 답변은 여전히 ​​작동하지만 @teppic의 답변은 그룹 dseditgroup 편집을 위해 특정 도구를 사용하여보다 정확한 방법을 제공합니다.
Endareth

12

Chealion의 답변을 바탕으로 모든 사용자가 다음 작업을 수행 할 수 있도록이 문제를 해결했습니다.

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

5

명령 행을 통해 원격 데스크탑을 사용 가능하게하십시오.

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

화면 공유 끄기 :

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

편집하다

좋아, 나는 당신의 질문을 오해했을 것입니다. "원격 액세스"란 원격 데스크톱을 의미한다고 가정했지만 이제는 다른 계정에 대해 ssh 액세스를 활성화하려고한다고 생각합니까?

내 대답은 반쯤 당신을 얻을 수 있습니다. 그림과 같이 원격 데스크톱을 활성화 한 후 원격 Mac에 연결하여 시스템 환경 설정을 통해 사용자의 ssh 액세스를 변경하십시오.

원격 Mac에 연결하려면 Finder로 Connect to Server…이동하여 이동 메뉴 아래를 선택하십시오 . 컴퓨터의 서버 주소를 입력하십시오 :

vnc://x.x.x.x

여기서 xxxx는 원격 컴퓨터의 IP 주소 또는 URI입니다. ssh와 연결했기 때문에 이미 알고 있다고 가정합니다.

이제 원격 데스크톱을 사용하여 시스템 환경 설정> 계정으로 이동하고 상자를 클릭하여 다른 계정으로 컴퓨터에 로그인 할 수 있습니다…


원격 Mac에 Apple Remote Desktop이 설치되어 있어야합니까? 첫 번째 명령 후에 어떻게해야합니까?
Andrei

1
시스템에 원격 데스크톱이 이미 설치되어 있습니다. 원격 데스크톱 지침에 대한 답변을 편집하겠습니다. 죄송합니다. 당신의 질문을 오해했을 수도 있습니다…
ghoppe

어쨌든, 다른 Mac을 사용하여 원격 Mac에 액세스한다고 가정하면 첫 번째 명령 후에 어떻게해야합니까?
Andrei

2
내 답변을 수정했습니다. 명령 줄을 통해 ssh 액세스를 활성화하는 방법이있을 수 있으므로 원격 데스크톱을 통해 ssh 액세스를 수행 할 필요는 없지만이 방법도 작동합니다.
ghoppe

첫 번째 명령은 의심스러운 일을합니다. 내 계정뿐만 아니라 다른 계정도 변경됩니다. 다른 계정에 영향을 미치지 않도록 수정할 수 있습니까?
Andrei

5

ssh 액세스 권한은 com.apple.access_ssh그룹 . 공유 준비 창을 통해 원격 로그인 서비스에 대한 액세스를 수정할 때 편집하는 그룹입니다 .

동안 dscl다른 답변에 설명 된대로 그룹 구성원을 편집하는 데 사용할 수 명령 줄에서 그룹 구성원 dseditgroup을 수정하는 더 확실한 방법 com.apple.access_ssh입니다.

사용자를 추가하려면 :

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

사용자를 제거하려면 :

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.