macOS Sierra SSH Active Directory 로그인이 작동하지 않습니다


3

macOS Sierra Server에 정말 이상한 문제가 있습니다. Active Directory 서버에 연결되어 있으며 소수의 사용자 만 로그인 창에 액세스 할 수 없습니다. 이것은 아무런 문제없이 작동합니다. (이러한 사용자 만 도메인 자격 증명으로 mac 서버에 로그인 할 수 있습니다)

이제 GIT 리포지토리에 필요하기 때문에 SSH를 활성화했습니다. 도메인 사용자에게 ssh 사용에 대한 액세스 권한을 부여 했지만 연결하려고 할 때 항상 "권한 거부"가 표시됩니다. 로컬 계정을 사용하면 작동합니다.

로그에서 나는 찾을 수 있습니다 :

com.openssh.sshd .... 비정상 상태 코드 255로
서비스 종료 com.openssh.sshd .... 비정상 상태 코드 1로 서비스 종료

여기서 무슨 일이 일어나고 있는지 알고 있습니까?


보다 적은 바닐라 AD + OS X 환경에서 AD 환경을 재현하려고했습니다. 전 세계 AD 그룹 SSH 사용자를 만들고 임의의 AD 사용자를 추가했습니다. OS XI에서는 macOS의 공유 PrefPane> 원격 로그인>이 사용자 만> +> 네트워크 그룹> SSH 사용자에이 네트워크 그룹을 추가했으며 작동합니다. 아마 당신은 몇가지 세부 사항을 추가해야
할것입니다

서버 앱없이 테스트를 확인하겠습니다. 차이가 있는지 모르겠습니다. ssh에 로그인 할 때 어떤 사용자 이름 구문을 사용하고 있습니까?
Bene

간단히 호스트 이름 @ (과 username을 사용자 이름 글로벌 AD 그룹의 멤버 SSH - 사용자호스트 이름 뿐만 아니라 표준 광고의 ssh 클라이언트의 호스트 구성원 컴퓨터의 그룹). 나는 Server.app 불구하고 설치하지 않은 어떠한 여기 "황금 삼각형"설정 (AD & OD)를. Server.app가 설치된 상태에서 반복 할 수 있습니다.
klanomath

@klanomath 예, Mac 서버 앱이없는 새로운 mac os 시스템이 있으면 솔루션이 작동합니다. 서버 앱으로 사용해 보셨습니까? 여전히 작동합니까?
Bene

Server.app 5.2가 설치된 상태에서도 작동합니다. 10.11 / 10.12 호스트에 로그온하지 않은 사용자 인 임의의 SSH 사용자 (domainsshuser) 중 하나를 사용하여 10.11에서 10.12로 연결하려고하면 홈 디렉토리 / Users / domainsshuser에 chdir 할 수 없습니다. 이러한 파일 또는 디렉토리 ..
klanomath

답변:


1

자세한 내용, AD 및 OS X 구성 세부 정보 및 그룹 정책 설정이 필요하므로 질문에 대답하기가 어렵습니다.


일부 결합 된 OS X 클라이언트 및 OS X 서버가있는 새 Active Directory 환경에서는 설정이 예상대로 작동합니다.

글로벌 보안 그룹 SSH-OSXUsers를 생성하고 임의의 AD 사용자를 추가 한 후 macOS의 공유 PrefPane> 원격 로그인>이 사용자 만> +> 네트워크 그룹> SSH-OSXUsers (또는 각 설정에서이 네트워크 그룹을 추가해야합니다. Server.app).

내가 사용하는 것이 좋습니다이 서버에 연결하려면 ssh user@hostnamessh user@fqdn. 리버스 DNS 트리에 OS X 서버에 대한 적절한 PTR 레코드가 있으면 IP 와도 작동해야합니다.

서버 호스트에 로그온하지 않은 SSH-OSXUsers 그룹의 사용자와 연결 하면 홈 디렉토리 / Users / domainsshuser에 chdir 할 수 없습니다 . 사용자의 홈 폴더가 없기 때문에 해당 파일 또는 디렉토리 가 없습니다. 명령을 실행할 수 있습니다.

서버 호스트에 홈 폴더가있는 관리 계정 또는 모바일 계정 사용자와 연결하면이 메시지가 표시되지 않습니다.


보다 자세한 ssh 오류 메시지를 얻는 한 단계는 SIP를 비활성화 한 후 시작 데몬에서 표준 오류 경로를 / dev / null에서 /tmp/ssh.stderr로 변경하는 것입니다.


0

AD 사용자에게 쉘을 지정했는지 확인 했습니까? 쉘이 없으면 사용자는 Mac에 ssh 할 수 없습니다.

dscl을 사용하면 'UserShell'을 읽을 수 있습니다. 이것은 AD에 정의되어 있지 않으며 일반적으로 / bin / bash에 매핑됩니다.

로컬 계정의 경우 명령은 dscl . list /Users UserShell입니다. AD의 경우 이와 같은 것을 사용해야 dscl . list /Active\ Directory/domain/All\ Domains/Users UserShell하지만 구문을 확인할 수있는 AD가 없습니다.

이 명령으로 모든 사용자의 전체 목록을 가져와야하지만 확인할 수는 없습니다. dscl localhost list /Search/Users UserShell

AD 사용자에 대해 셸이 정의되지 않은 경우이를 수정하십시오. GUI : 디렉토리 유틸리티-Active Directory, 고급-cli의 사용자 경험 : dsconfigad(명령 dsconfigad -show은 현재 설정을 표시 할 수 있음)

편집 : server.app에서 ssh에 대한 그룹 액세스 권한을 확인하십시오 (특정 사용자의 경우에만 기본값).


방금 모든 사용자를 나열하려고했지만 불행히도 내 테스트 계정이 / bin / bash와 함께 표시되지 않습니다 ... 이제 두 개의 Mac sierra가 있습니다 (하나는 서버 앱이없고 하나는 서버 앱이 없지만 하나는 예상대로 작동합니다). 두 서버 모두 / bin / bash와 함께 사용 된 사용자 계정을 표시하지 않지만 2 번은 작동하지만 1 번은 그렇지 않습니다. @klanomath가 제안한 것처럼 두 번째 서버에 서버 앱을 다시 설치하려고하지만 방화벽 뒤에는 약간 까다 롭습니다 ...
Bene

"안타깝게도 내 테스트 계정이 / bin / bash ...와 함께 표시되지 않습니다."가 문제처럼 보입니다. AD에 바인딩 할 때 서버 응용 프로그램의 설정이 서로 다를 것 같습니다 (일반적으로 모든 AD 사용자가 ssh를 사용하지 못하도록하기 때문에 의도적으로)
Maurits

server.app 5.2를 설치하지 않으면 작동합니다. 방금 설치했는데 ssh 액세스가 더 이상 작동하지 않습니다 ...이 응용 프로그램은 무엇을하고 있습니까?
Bene
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.