1 명의 사용자가 ssh 키로 만 Mac에 로그인 할 수 있도록 설정


21

암호없이 원격 SSH 액세스를 허용하려는 Macbook Air가 있습니다. 내가 remotepair로그인 한 Mac을 사용할 수 있다는 사용자를 만들었습니다 . 이 사용자를 "로그인 제거"서비스의 허용 된 사용자 목록에 추가하고 서비스를 켰습니다. 이것은 모두 "공유"제어판에서 수행되었습니다.

다른 컴퓨터의 공개 키를 가져 와서 파일에 추가했습니다 /Users/remotepair/.ssh/authorized_keys. 다른 컴퓨터 ssh remotepair@<my ip>에서도 여전히 암호 프롬프트가 나타납니다.

이 비밀번호 프롬프트를 비활성화하려면 어떻게합니까?


1
질문 제목에 "SSH 키 전용 인증"을 추가하는 것이 좋습니다. 이제 읽는 방식이 일반 GUI 로그인 창 로그인처럼 들립니다.
NReilingh

답변:


27

암호 인증을 비활성화하려면 편집해야합니다 /etc/sshd_config. 에서 Terminal:

sudo vim /etc/sshd_config

(또는 좋아하는 편집기로 교체)

줄을 찾으십시오.

#ChallengeResponseAuthentication yes

그리고 그것을 다음과 같이 변경하십시오 :

ChallengeResponseAuthentication no

즉, #시작 부분을 제거하고 로 변경 yes하십시오 no.

이후의 모든 SSH 로그인은 이제 것이다 REQUIRE SSH 키를 사용하도록하고 암호를 요청하지 않습니다. 로컬 액세스 권한이없는 경우이를 수행하기 전에 ssh 키가 작동하는지 확인하십시오! ssh 데몬 또는 새로 들어오는 각 연결에 대해 필요에 따라 시작되므로 다른 것을 다시 시작할 필요가 없습니다. PasswordAuthentication선이 표시 될 수도 있지만 기본적으로 no이미 설정되어 있습니다.

ssh 키가 작동하지 않으면 실제로 별도의 문제이지만 지금 제기 된 질문에 대답합니다. :)


또한 AllowUser 설정에 사용자를 추가해야합니다. GUI 설정 이이 텍스트 행도 수정하지 않았다고 생각할 수 있습니다.
Jason

7
이후 버전의 Mac OS X (확실히 El Capitan)에서는 sshd_config가로 이동했습니다 /etc/ssh/.
zelk

2
MacOS Sierra (v10.12.x)부터의 기본값 PasswordAuthentication이로 변경 yes되었으므로로 변경하십시오 no.
Travis Clarke

3

macOS Sierra (특히 10.12.6)에 대한 답변을 업데이트하려면 구성 파일이 /etc/ssh/sshd_config

암호 인증을 완전히 비활성화하려면 2 줄의 주석 처리를 제거하고 수정해야합니다 (이것은 기본 sshd_config파일 에 57 행에서 62 행까지 포함 됩니다).

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
ChallengeResponseAuthentication no

앞에서 언급했듯이 System Preferences.app GUI에서 ssh 액세스를 활성화 / 비활성화 할 수 있으며 구성 편집간에 데몬을 다시 시작할 필요가 없습니다.


1

관련된 디렉토리의 권한을 확인 해야합니다 . /Users/remotepair//Users/remotepair/.ssh"다른"사용자의 쓰기 액세스를 허용해서는 안됩니다. 본인 .ssh은 소유자에게만 액세스 권한이 있습니다.

또한 원격 시스템에서 ssh -v remotepair@yoursystem어떤 권한 부여 방법이 허용되고 시도되는지 확인하십시오. 를 찾으십시오 Authentications that can continue: publickey,password,keyboard-interactive. RSAAuthentication시스템에서 활성화해야 할 수도 있습니다 .


1

여기 테스트 시스템에서 SSH 프롬프트를 비활성화하려면 다음 두 줄을 추가해야합니다 /etc/sshd_config.

PasswordAuthentication no
ChallengeResponseAuthentication no

의견 sshd_config은 다음 줄을 추가 할 것을 권장합니다.

UsePAM no
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.